我的应用程序中有一些tableviews,我已将自动调整遮罩设置为灵活的宽度和高度。然而,当我打开一个使用tableView的viewcontroller时,我注意到我没有设置自动调整遮罩,但是tableview看起来在iPad上正确调整大小。这是否意味着不需要在tableview上设置自动调整遮罩?
答案 0 :(得分:1)
更准确地说,UIViewController框架喜欢根据它们呈现的上下文显式调整其视图的大小。例如,在iPhone UINavigationController和UITabBarController上显式调整其viewControllers的视图,以填充所有可用的屏幕空间。在iPad上,UISplitViewController显式调整其主视图控制器和详细视图控制器的视图大小,以便在横向模式下适合其适当的尺寸。这些容器视图控制器执行的显式调整大小在技术上不是自动调整大小,因此这些视图控制器忽略视图的autoresizingMask。
视图的autoresizingMask回答了一个具体问题:如果超视图的边界发生变化,该视图应如何表现?当容器视图控制器显式调整UIViewController的视图大小时,这不被视为自动调整大小,因为它不会因超级视图边界的更改而发生。
当然,如果显式调整大小的视图具有子视图,那么这些子视图将被自动调整为其超级视图的显式调整大小的副作用,如其autoresizingMasks所指定的(前提是superview的autoresizesSubviews设置为YES)。 p>
答案 1 :(得分:0)
是肯定的。当你在.xib中添加tableview时,它的默认属性是灵活的宽度和高度。