我的应用程序中有一些表视图,并且我已经将自动调整大小的蒙版设置为灵活的宽度和高度。然而,当我打开一个使用tableView的视图控制器时,我注意到我没有设置自动调整大小的遮罩,但是在iPad上,表视图看起来可以正确地调整大小。这是否意味着不需要在tableview上设置自动调整大小的掩码?
发布于 2011-07-05 10:54:53
更准确地说,UIViewController框架喜欢根据视图呈现的上下文显式地调整视图的大小。例如,在iPhone上,UINavigationController和UITabBarController会显式地调整其viewControllers的视图大小,以填充所有可用的屏幕区域。在iPad上,UISplitViewController会显式调整其主视图和局部视图控制器的视图大小,以适应其在横向模式中的相应尺寸。由这些容器视图控制器执行的这种显式大小调整在技术上并不是自动调整大小,因此这些视图控制器忽略视图的autoresizingMask。
视图的autoresizingMask回答了一个特定的问题:如果它的superview的边界改变了,这个视图应该如何表现?当UIViewController的视图被容器视图控制器显式地调整大小时,这不会被认为是自动调整大小,因为它不是由于superview的边界改变而发生的。
当然,如果显式调整大小的视图具有子视图,这些子视图将自动调整大小,这是由其autoresizingMasks指定的显式调整其超视图大小的副作用(假设超视图已将autoresizesSubviews设置为YES)。
发布于 2011-07-04 17:53:34
是。当你在.xib中添加tableview时,它的默认属性是灵活的宽度和高度。
https://stackoverflow.com/questions/6569763
复制相似问题