0

我正在使用 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?

4

1 回答 1

1

您之前没有遇到过问题,因为视图控制器已经为您完成了。如果您将视图添加为子视图,那么您需要自己做。只需在将表视图添加为子视图之前设置它的框架,然后您的自动调整大小规则将处理任何后续更改。

于 2013-05-28T16:48:08.457 回答