问题在于自动调整大小设置。更具体地说,在 Interface Builder 中,确保单击 autoresizing,然后在 Size Inspector 中,确保 tableview 所有它的表视图的父视图在顶部、左侧、右侧都填充了红色箭头,并选择了这两个内部箭头。
我想知道提问者是否真的在主视图的子视图中有表格视图。对于在视图层次结构中更深一层的表视图,我看到了这种行为:
默认情况下,主视图正确设置了自动调整大小的箭头,但如果您添加其他视图,则不会。
在回答有关多个视图控制器问题的问题时:请注意 UIViewController 不是 UIView 的委托。事实上,事件链看起来是相反的——首先系统看到一个自动旋转并告诉 UIViewControllers。如果 UIViewControllers shouldAutoresize 返回 yes,则 UIViewControllers 会调整其主视图的大小。如果设置正确,主视图的大小调整会自动导致其子视图调整大小。
根据Apple docs,您不应该有多个视图控制器来控制视图的不同部分-例如,用于主视图子视图中的表视图的单独表视图控制器-因为它与事件链混在一起-您可以看到这是怎么回事。不知道这是否有帮助。