iOS - 使用 insertSubview 时 UITableView 高度自动调整大小不起作用

标签 ios objective-c uitableview iphone-5 autoresizingmask

我正在使用 Storyboards 开发一个运行 iOS 5.1 的 iPhone 应用程序。我有一个 UIViewController,底部有一个 UITabBar 组件。我正在使用 UITabBar 委托(delegate)事件 didSelectItem 加载不同的 View Controller ,以使用 insertSubview 例如:

[[self view] insertSubview:[salesQuotesVC view] belowSubview:mainTabBar];

我插入到宿主视图中的 View Controller 包含一个 UITableView 控件,该控件启用了所有自动调整大小 anchor /约束,因此它应该拉伸(stretch)到可用空间。它还具有模拟指标顶部栏 = 导航栏和底部栏 = 选项卡栏。除了在 3.5 英寸和 4 英寸(iPhone 5)屏幕之间切换时 UITableView 的大小调整外,一切工作正常。如果我将 Interface Builder 设置为 3.5"外形尺寸,那么它在 3.5"设备上运行良好,但在 4"设备上表格太短。同样,如果我将 IB 外形尺寸设置为 4",它在 4"设备上运行良好设备,但表格太长并且在 3.5 英寸设备上的选项卡栏下方运行。

我以前从未遇到过在 3.5 英寸/4 英寸设备之间自动调整大小的问题,但到目前为止我只对选项卡页使用过 UITabViewController。这是我第一次使用 UITabBar 和 UIViewController 自己编写选项卡切换代码(我这样做是为了可重用性目的)。我猜调整大小问题与 insertSubview 有关?

最佳答案

您以前没有遇到过问题,因为 View Controller 已经为您完成了。如果您要将 View 添加为 subview ,那么您需要自己执行此操作。只需在将 TableView 添加为 subview 之前设置 TableView 的框架,然后您的自动调整大小规则将处理任何后续更改。

关于iOS - 使用 insertSubview 时 UITableView 高度自动调整大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797175/

相关文章:

uitableview - iPhone : Is there a way to loadFromNib AND have a reuseIdentifier?

swift - TableView 内部的 CollectionView

iphone - NSNumber 和 NSFloat

objective-c - 我可以使用自动释放来修复此内存泄漏吗?

ios - 如何删除 NSMutableArray IOS 中除第一个索引以外的所有索引处的对象

iphone - 将数据传递给 subview

iOS 模拟器不会减慢 CA 动画

ios - iOS 垂直居中搜索 Controller

ios - 在具有循环关系的 saveAllInBackground 期间解析 iOS SDK 死锁

ios - UITableView 底部的额外空间