UINavigationBar + UITabBar 的可用屏幕高度
Posted
技术标签:
【中文标题】UINavigationBar + UITabBar 的可用屏幕高度【英文标题】:Available screen height with UINavigationBar + UITabBar 【发布时间】:2014-02-10 18:12:59 【问题描述】:所以我正在开发一个顶部有 UINavigationBar,底部有一个 UITabBar 的应用程序。而且我很难弄清楚视图的实际可用高度是多少。 我已经尝试通过计算 UINavigationBar 高度和 UITabBar 高度并从主屏幕高度中减去它来计算可用屏幕高度,但这仍然不是实际尺寸。
这是我获取可用屏幕高度的失败代码:
CGRect screenRect = [[UIScreen mainScreen] bounds];
_screenHeight = screenRect.size.height;
CGFloat tabBarHeight = _rootViewController.tabBar.frame.size.height;
UINavigationController* navigatior = _rootViewController.viewControllers[0];
CGFloat navigationBarHeight = navigatior.navigationBar.frame.size.height;
CGFloat visibleHeight = _screenHeight - navigationBarHeight - tabBarHeight;
return visibleHeight;
在基于 UINavigationBar + UITabBar 的应用程序中,是否有一种简洁的方法可以知道实际可用的屏幕尺寸??
【问题讨论】:
【参考方案1】:您不需要计算它,它会根据 iPhone 而变化。您最好的选择和最简单的方法是使用故事板并将导航控制器和标签栏直接嵌入其中。完成此操作后,您可以使用自动布局将视图固定到条形图上,并且所有内容都将适合您的大小。
【讨论】:
我没有使用故事板,我喜欢基于 xib 的应用程序 x)。除此之外,我像你说的那样使用自动布局,这在我的大多数视图控制器中都能完美运行。除了这个,我有一个 UIScrollView,所以我需要将内容大小设置为正确的高度。 :/ 感谢回复以上是关于UINavigationBar + UITabBar 的可用屏幕高度的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 滚动 UINavigationBar
UINavigationController改变UINavigationBar导航条标题颜色跟字体