【问题标题】:Getting navigation bar height获取导航栏高度
【发布时间】:2015-06-26 03:21:22
【问题描述】:

我通过单击UITabBarController 的项目来呼叫UIViewController。当我尝试在UIViewControllerviewDidLoad 方法中获取导航栏的高度时,如下所示:

 self.navigationController.navigationBar.frame.origin.y
 self.navigationController.navigationBar.frame.size.height

以上两行都返回零。如何获取导航栏的高度?

【问题讨论】:

  • 什么是根视图控制器?标签栏还是导航栏?
  • 你的 viewDidLoad 中有 self.navigationController != nil 吗?

标签: ios objective-c uitabbarcontroller uinavigationbar


【解决方案1】:

试试这个...

 CGFloat navigationBarHeight = self.navigationController.navigationBar.bounds.size.height;

【讨论】:

    【解决方案2】:

    请注意,如果您设置,它的行为会有所不同:

    navigationBar.translucent = NO;
    

    More here

    【讨论】:

    • 这不回答问题 - 它应该是对原始问题的评论。
    • 你应该再等几年才能告诉我
    【解决方案3】:

    确保您没有遗漏以下任何代码行

    MyViewController *myViewController = [[MyViewController alloc] init];
    UINavigationController *myNavigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
    
    self.window.rootViewController = myNavigationController;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多