UINavigationBar + UITabBar的可用屏幕高度

时间:2014-02-10 18:13:00

标签: ios uitabbarcontroller uinavigationbar uitabbar screen-size

所以我正在开发一个顶部有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 个答案:

答案 0 :(得分:0)

您无需计算它,它会根据iPhone而改变。您最好的选择和最简单的方法是使用故事板并将导航控制器和标签栏直接嵌入其中。完成后,您可以使用自动布局将视图固定到条形图上,所有内容都将完美适合您。