【发布时间】:2015-02-09 19:42:17
【问题描述】:
我正在使用带有静态单元格的分组UITableView 作为选项屏幕/场景。一切都在 Xcode 6.1 / iOS 8.1.x / Storyboard 中使用 Autolayout 完成。在表格组中,有混合类型的单元格,有两种类型会导致我出现问题:
- 具有自定义样式的单元格和
- 具有“右细节”样式的单元格
在单元格 #1 上,我可以为标签和前导容器之间的左边距设置一个约束。据我所知,在单元格 #2 上,我无法在 Interface Builder 中设置任何约束。我在单元格#1 中的标签上设置了左边距,使其与单元格#2 中的标签对齐。在 iPhone 上一切看起来都很好,但是如果我在 iPad 上显示同一个表格,其中表格视图容器的大小是屏幕大小的一半,单元格 #2 会获得更多边距(动态?),而单元格 #1 保持绝对边距我在约束中设置。我还尝试使用“相对于边距”属性更改单元格 #1 中的左边距,但无济于事。
iPhone:
iPad(tableview 宽度 = 1/2 屏幕尺寸)
所以问题是:如何为单元格#1 中的标签设置约束,使其像单元格#2 一样对齐。
这里还有一个 Xcode 6.1 示例项目的链接,演示了该问题。在 iPhone 和 iPad 上运行以查看差异:
https://dl.dropboxusercontent.com/u/5252156/Code/tableViewTest.zip
这个问题可能与Layout static table cell for iPhone and iPad 有关,但对于 iOS 8 也可能有所不同,因为现在一切都应该是自适应的。这就是为什么我还是决定发布这个问题。
【问题讨论】:
标签: ios uitableview autolayout margin