我知道如何制作自定义的自动调整大小的单元格。但出于某种原因,我在尝试制作默认的多行时面临挑战。
我目前想要的是一个只有一个标签的单元格。因此,具有内置样式“Basic”的默认样式似乎是解决如此简单问题的最佳解决方案。但是它只显示 2 行文本。
我当前的设置:一个静态 UITableView
和一个 UITableViewController
包含一些需要配置的单元格的导出。
我尝试过的事情:
- 设置行数为0
- 将表格 View 的行高设置为
UITableViewAutomaticDimension
- 覆盖
heightForRowAtIndexPath
以便它始终返回UITableViewAutomaticDimension
- 在单元格和/或内容 View 和/或文本标签上调用
sizeToFit
、setNeedsLayout
、layoutIfNeeded
- 在 Storyboard中将自定义单元格高度设置为 0
- 增加标签的垂直和水平内容拥抱优先级
编辑:
我想我并不清楚到底是什么问题。我没有使用自定义单元格。我正在尝试摆脱基本的。
这意味着您不能为其标签添加任何约束。当然,您可以通过编程方式进行,但由于一切都是针对 Apple 的内置样式在内部进行管理的,因此可能会导致冲突。
其他详细信息:
此时(正如我上面提到的)我有一个 UITableViewController,带有特定单元格的导出:@IBOutlet weak var descriptionCell: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
真的可以吗?由于我已经花了太多时间试图避免制作自定义单元格,所以我最终会制作它。无论如何,欢迎任何解决方案。
最佳答案
下面两个不需要做。
- 在单元格和/或内容 View 和/或文本标签上调用 sizeToFit、setNeedsLayout、layoutIfNeeded
- 在 Storyboard中将自定义单元格高度设置为 0
并且您应该检查标签的约束。例如,它在运行时应该有固定的宽度,并且对单元格的顶部和底部有限制。所以细胞会自行生长。
关于ios - 如何制作一个 self 调整大小的基本 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964692/