我正在设计一个带有自定义单元格布局的表格。为了进行自定义单元格布局,我添加了一个空的 nib 文件,然后添加了一个表格视图单元格,然后根据我的需要设计了所有内容。loadNibNamed
之后,我使用函数内部在表格视图中加载我的自定义笔尖cellForRowAtIndexPath
......一切都很好,自定义表格正是我想要的。
现在我想启用旋转,所以当用户旋转设备时,设计也会旋转。我的自定义单元格由标签和图像组成,因此处理视图旋转的最简单方法是使用Interface Builder的Autosizing属性。这就是问题所在:当我为自定义单元格中的元素选择适当的自动调整大小组合时,运行时的最终结果将向左移动 20 个像素。所以旋转有效,但一切都被错误地转移了。这是我的问题的视觉解释:
我像这样选择自动调整大小:
结果与我放置标签(本周)的位置相同,如下所示:
现在我为我的标签选择适当的自动调整大小:
但结果错误地向左移动了 20 个像素,如下所示:
您可以看到标签“本周”不在 DisclosureIndicator 的顶部,如上图所示。错误的移动出现在所有设备方向上,而不仅仅是纵向。我做错了什么?Autosizing 不应该保留我的对象在视图上的原始大小和位置吗?