我正在使用 Storyboards 开发带有 iOS 5.1 的 iPhone 应用程序。我有一个 UIViewController,底部有一个 UITabBar 组件。我正在使用 UITabBar 委托事件didSelectItem
加载不同的视图控制器以用于每个标签页insertSubview
,例如:
[[self view] insertSubview:[salesQuotesVC view] belowSubview:mainTabBar];
我插入到主机视图中的视图控制器包含一个 UITableView 控件,该控件启用了所有自动调整大小的锚点/约束,因此它应该延伸到可用空间。它还具有模拟指标 Top Bar=Navigation Bar 和 Bottom Bar=Tab Bar。一切正常,除了在 3.5" 和 4" (iPhone 5) 屏幕之间切换时调整 UITableView 的大小。如果我将 Interface Builder 设置为 3.5" 外形尺寸,那么它在 3.5" 设备上运行良好,但在 4" 设备上表格太短。同样,如果我将 IB 外形尺寸设置为 4",它在 4" 设备上运行良好设备,但表格太长,在 3.5 英寸设备上的标签栏下方运行。
我以前从未遇到过在 3.5"/4" 设备之间自动调整大小的问题,但到目前为止,我只将 UITabViewControllers 用于标签页。这是我第一次使用 UITabBar 和 UIViewController 编写标签切换自己的代码(我这样做是为了可重用性)。我猜调整大小问题与insertSubview
?