我正在开发一个通用应用程序,并尝试在 iPhone 和 iPad 版本之间共享尽可能多的代码。我需要使用 TabBarController 作为我的根视图控制器,虽然我想在每个选项卡中使用 SplitViewController,但 SplitViewController 的文档说它需要是根视图控制器。因此,考虑到所有这些 - 请理解我正在尝试并排放置两个导航控制器并(大部分)复制 SplitViewController 的行为/布局。
除了视图的布局之外,一切都运行良好。当应用程序以纵向模式启动时,当设备方向发生变化时,一切都会正常运行并正确调整大小/位置。
如果应用程序以 UIDeviceOrientationPortrait 以外的任何方向启动,则视图将在导航控制器上方显示 20 点间隙/边距。我尝试在运行时调整框架,但没有完美的结果。将框架的 origin.y 调整为 -20 并将高度增加 20 会使视图与其父级的顶部齐平,但在底部留下 20 点的间隙!
我通过在添加导航控制器视图后隐藏然后显示导航栏在我的应用程序中解决了这个问题。例如。
[parentView addSubview:navController.view];
[navController setNavigationBarHidden:YES];
[navController setNavigationBarHidden:NO];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)