【发布时间】:2011-07-08 05:12:41
【问题描述】:
我正在开发一个通用应用程序,并尝试在 iPhone 和 iPad 版本之间共享尽可能多的代码。我需要使用 TabBarController 作为我的根视图控制器,虽然我想在每个选项卡中使用 SplitViewController,但 SplitViewController 的文档说它需要是根视图控制器。因此,考虑到所有这些 - 了解我正在尝试并排放置两个导航控制器并(主要)复制 SplitViewController 的行为/布局。
一切都很好,除了视图的布局。当应用以纵向模式启动时,所有功能都会在设备方向发生变化时正确调整大小/位置。
如果应用程序以 UIDeviceOrientationPortrait 以外的任何方向启动,则视图会在导航控制器上方显示 20 点的间隙/边距。我尝试在运行时调整框架,但没有完美的结果。将框架的 origin.y 调整为 -20 并将高度增加 20 会使视图与其父级的顶部齐平,但在底部留下 20 点的间隙!
【问题讨论】:
-
为什么不把每次旋转的帧调整为
self.view.frame.size.height? -
@sudo - 是的,我已经这样做了,这有帮助......但前提是设备旋转!如果应用程序以纵向以外的任何方向启动(按下按钮),它看起来就像最后一个屏幕截图。我没有尝试过任何调整来消除差距。
-
他们尝试将其设置为
[[UIScreen mainScreen] bounds].size.height? -
围绕这个话题有很多问题,没有正确答案:/
-
您是如何在标签栏中放置彩色图标的?我曾尝试在我的应用程序中执行此操作,但我将 UIImageView 放在栏上。
标签: iphone xcode ipad ios interface-builder