我正在开发针对 iOS 6 的项目,该项目利用了故事板和自动布局。在故事板中有很多地方将 UITableView 作为子视图添加到视图控制器视图中。此表视图使用情节提要中的原型单元格。
我们遇到的问题是,如果视图控制器最初以横向加载,然后设备旋转为纵向,则表格视图开始垂直和水平滚动。表格视图单元格以正确的尺寸绘制,但右侧有额外的空白。
看起来,虽然表格视图的框架和边界在旋转时被更新为正确的大小,但表格视图的内容大小却没有。无论更新旋转如何更改,内容大小都保持相同的尺寸。
如果使用程序化表格视图单元格,则不会出现此问题。我发现了一些花哨的解决方法,1.) 调用 reloadData 或 reloadRowsAtIndexPaths:withRowAnimation: 2.) 手动设置属性 contentSize。
这两个似乎都不理想。
我已将此链接添加 到一个演示此问题的简单示例项目中。所做的唯一更改是故事板和主视图控制器的实现。
旋转前 旋转 后