2011-07-04 35 views
1

我在我的应用程序中有一些tableviews,我已经设置了自动修复面具灵活的宽度和高度。然而,当我打开一个viewcontroller我使用tableView时,我注意到我没有设置自动调整屏蔽,但是tableview看起来在iPad上正确调整大小。这是否意味着不需要在tableview上设置自动调整掩码?默认情况下,UITableView自动调整掩码?

回答

1

更确切地说,UIViewController框架喜欢根据它们呈现的上下文来明确地调整其视图的大小。例如,在iPhone上,UINavigationController和UITabBarController显式调整其viewControllers的视图以填充所有可用的屏幕空间。在iPad上,UISplitViewController明确调整其主视图控制器和详细视图控制器的视图,以使其适合横向模式下的尺寸。这些容器视图控制器执行的显式调整大小在技术上并非自动调整大小,因此这些视图控制器忽略视图的autoresizingMask。

视图的autoresizingMask回答了一个具体问题:如果该视图的界限改变了,该视图应该如何处理?当UIViewController的视图被容器视图控制器显式调整大小时,这不被视为自动调整大小,因为它不是由于超级视图边界的更改而发生的。当然,如果显式调整大小的视图具有子视图,那么这些子视图将按照其autoresizingMasks(如果superview将autoresizesSubviews设置为YES)指定的显式调整其超级视图的副作用来获得自动调整大小。

0

是的。当你在.xib中添加tableview时,它的默认属性是灵活的宽度和高度。

+0

不,这是在loadView方法中的代码中完成的。 – LuckyLuke

+0

然后yup其默认属性。可能会发生在新的SDK中。 –