【发布时间】:2017-11-10 18:41:28
【问题描述】:
我有一个UITableViewController,其中使用 Xcode 8 和 Swift 3 正确调整单元格的大小。现在我正在使用 Xcode 9 和 Swift 4,它们没有扩展,只是在使用默认高度为 44。
(我在每个UITableViewCell 中大约有一两句话)
我以前用过这个:
// MARK: - Table view delegate
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
...但能够将其注释掉,因为每个 Updating Your App for iOS 11 说现在默认是自调整大小:
我尝试过将部署目标更改为 iOS 11,在 Storyboard 中玩耍(但我使用的是 Table View Cell 样式 Basic,所以没有太多 AutoLayout 要做),但我不能弄清楚发生了什么。
我将UILabel 标题设置为 0 行,并设置了换行符换行,但仍然无法根据 Xcode 9 中的文本内容扩展单元格。有什么想法吗?
谢谢!
编辑:
这是固定的选项(我没有),因为它是基本单元格:
【问题讨论】:
-
如果你想让你的单元格扩展,内容必须用自动布局固定到单元格的顶部和底部,你这样做吗?
-
Xcode 9 和 iOS 11 SDK 仍处于测试阶段,因此会有错误。如果这是测试版软件中的错误,则应向 Apple 报告。
-
@EmilioPelaez 我在我原来的问题中添加了一些图片,关于我缺少选项,这是否澄清?谢谢!
-
@RoboticCat 对,如果我确定这是一个错误,我会这样做,但想知道是否有人知道我遗漏了一些特定的东西,或者你不知道?
-
它是您需要添加约束的内容,而不是单元格本身,我认为这将是 iOS 10 XCode8 中自动DimensionCells 所需的相同约束,您是否调整了
content compression resistance priority和content hugging priority?
标签: ios swift xcode uitableview autolayout