【发布时间】:2015-07-03 14:24:00
【问题描述】:
我正在尝试在新应用中采用自适应布局,并且学到了很多东西。对于最后一部分,我必须将文本转储到表格中并调整单元格以保持自适应,这似乎很容易。
我阅读了一些教程,对于 iOS 8 来说,这似乎归结为两件事:
- 设置了estimatedRowHeight 和rowHeight = UITableViewAutomaticDimension
- 正确设置约束以对单元本身产生压力
可耻的是,我一整天都在试图掌握这两点...我下载了 Keith Harrison 在self sizing table view cells 上提供的代码以查看它的工作原理。我将他的细胞复制到我更大的项目中并且它起作用了,但是我自己的细胞都没有起作用。我解构了他项目中的所有内容并将其最小化到几乎没有剩余的地步,然后尝试从头开始制作类似的单元格。我已经检查并验证了每个约束、每个拥抱/阻力设置等,但我的单元格高度未能扩展。
如果有人能指出我做错了什么(它一定很小,因为我看到的一切都是一样的)我已经上传了他的示例的最小化版本here (GitHub)。
在这个例子中,我尝试了一个带有单个多行标签的单元格,周围有约束,以及一个尽可能靠近他的单元格的单元格。我发现在我的许多尝试中,一切看起来都一样,但是我会遇到UIView-Encapsulated-Layout-Height 约束问题。在我最后一次尝试中,我将内容容器的垂直间距的优先级从 1000 降低到了 999。
我检查过或尝试过但没有效果的事情:
- 限制是超级视图(内容容器,而不是单元格)
- 标签设置为 0 行
- 拥抱和抵抗的优先级与工作细胞相同
- 加载后重新加载表
【问题讨论】:
标签: xcode uitableview cell