Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UINavigationBar+UITabBar的可用屏幕高度_Ios_Uitabbarcontroller_Uinavigationbar_Uitabbar_Screen Size - Fatal编程技术网

Ios UINavigationBar+UITabBar的可用屏幕高度

Ios UINavigationBar+UITabBar的可用屏幕高度,ios,uitabbarcontroller,uinavigationbar,uitabbar,screen-size,Ios,Uitabbarcontroller,Uinavigationbar,Uitabbar,Screen Size,所以我正在开发一个应用程序,上面有一个UINavigationBar,下面有一个UITabBar。我很难弄清楚这些景观的实际可用高度是多少。 我已经尝试通过计算UINavigationBar高度和UITabBar高度来计算可用的屏幕高度,并从主屏幕高度中减去它,但这仍然不是实际的大小 以下是获取可用屏幕高度的失败代码: CGRect screenRect = [[UIScreen mainScreen] bounds]; _screenHeight = screenRect.size.heigh

所以我正在开发一个应用程序,上面有一个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+uitabar的应用程序中,有没有一种干净的方法可以知道实际可用的屏幕大小???

您不需要计算它,它会根据iPhone的不同而变化。您最好的选择和最简单的方法是使用故事板,并将导航控制器和选项卡栏直接嵌入其中。一旦你做到了这一点,你可以使用自动布局钉住你的意见,以酒吧和一切都将大小完美为你

我不使用故事板,我喜欢基于xib的应用程序x。除此之外,我使用自动布局,就像你说的,这在我的大多数视图控制器中都能完美地工作。除此之外,我有一个UIScrollView,因此我需要将内容大小设置为正确的高度。:/谢谢你的回复