我有一个带有UIView的UIViewController,其中我将UIViewController视图添加为子视图。即
UIViewController *vc = [[MyViewController alloc] init];
[my_view_in_xib addSubview:vc.view];
ViewControllers视图和子视图启用了AutoLayout。顶层确实正确调整大小(将背景颜色更改为红色)我可以看到它的大小合适。但是在XIB文件的子视图中,我在“大小”上将视图设置为“自由形式”或“无”,并将表格固定在顶部和顶部。底部并使它们在宽度上固定,但高度似乎不会自动调整大小?
有什么建议吗?
詹姆斯
答案 0 :(得分:1)
每次调整大小时,都应将setNeedsLayout
发送到超级视图。否则,布局系统将不会重新计算子视图的帧。
在Apple的own words:
中查看调整大小主要发生在你的方向 应用程序的界面发生了变化,但可能会在其他时间发生变化 好。例如,调用setNeedsLayout方法会强制您的视图 更新其布局。