Autolayout - 自由格式视图

时间:2013-07-29 10:13:11

标签: uiview uiviewcontroller autolayout

我有一个带有UIView的UIViewController,其中我将UIViewController视图添加为子视图。即

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

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

有什么建议吗?

詹姆斯

1 个答案:

答案 0 :(得分:1)

每次调整大小时,都应将setNeedsLayout发送到超级视图。否则,布局系统将不会重新计算子视图的帧。

在Apple的own words

  

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