0

我有一个 UIViewController 和一个 UIView,我在其中添加 UIViewController 视图作为子视图。IE

UIViewController *vc = [[MyViewController alloc] init];
[my_view_in_xib addSubview:vc.view];

ViewControllers 视图和子视图启用了 AutoLayout。顶层确实正确调整大小(将背景颜色更改为红色)我可以看到它是正确的大小。但是,在 XIB 文件的子视图中,我已将“大小”上的视图设置为“自由形式”或“无”,并将表格固定在顶部和底部,并使它们固定在宽度上,但高度似乎不会自动调整大小?

有什么建议么?

詹姆士

4

1 回答 1

1

每次调整大小时,都应该发送setNeedsLayout到 superview。否则,布局系统不会重新计算子视图的框架。

用苹果自己的话来说

视图大小调整主要发生在应用程序界面的方向发生变化时,但也可能发生在其他时间。例如,调用 setNeedsLayout 方法会强制您的视图更新其布局。

于 2013-07-29T13:49:10.327 回答