iOS 8.3 打破自动单元格高度
iOS 8.3 breaks automatic cell height
好久了reader,第一次发帖。
我在我的应用程序中使用自动单元格高度和自动布局。在 iOS 8.3 和 8.4 中,这似乎被打破了。我有一个示例项目。在 8.2 或更低版本中构建时,它可以正常工作。单元格高度由自动布局确定。在 8.3 或 8.4 中构建时,它不起作用。我已经在网上搜索过,但没有看到有人发布有关此问题的帖子。
看看下面的屏幕截图。感谢任何帮助。
Screenshot comparison http://jeffburg.com/skitch/CellHeightProjectComparison.png
谢谢!
-杰夫
我的 iOS >8.3 项目曾经遇到过同样的问题。我通过实施委托方法而不是在 viewDidLoad 中设置 rowHeight 来修复您的 sample 项目。这绝对是UITableView相关的bug,所以你没有做错。
我检查了你的代码,发现了问题。
通过AppCodas article阅读关于自调整单元格的内容,看起来你应该在使用UITableViewAutomaticDimension
时使用estimatedRowHeight
(我自己没有使用过,无法确认)。因此,要么删除以下行:
self.tableView.rowHeight = UITableViewAutomaticDimension
或添加(如果您的单元格高度将根据内容改变):
self.tableView.estimatedRowHeight = 122;
在您的委托上添加此方法:
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
好久了reader,第一次发帖。
我在我的应用程序中使用自动单元格高度和自动布局。在 iOS 8.3 和 8.4 中,这似乎被打破了。我有一个示例项目。在 8.2 或更低版本中构建时,它可以正常工作。单元格高度由自动布局确定。在 8.3 或 8.4 中构建时,它不起作用。我已经在网上搜索过,但没有看到有人发布有关此问题的帖子。
看看下面的屏幕截图。感谢任何帮助。
Screenshot comparison http://jeffburg.com/skitch/CellHeightProjectComparison.png
谢谢! -杰夫
我的 iOS >8.3 项目曾经遇到过同样的问题。我通过实施委托方法而不是在 viewDidLoad 中设置 rowHeight 来修复您的 sample 项目。这绝对是UITableView相关的bug,所以你没有做错。
我检查了你的代码,发现了问题。
通过AppCodas article阅读关于自调整单元格的内容,看起来你应该在使用UITableViewAutomaticDimension
时使用estimatedRowHeight
(我自己没有使用过,无法确认)。因此,要么删除以下行:
self.tableView.rowHeight = UITableViewAutomaticDimension
或添加(如果您的单元格高度将根据内容改变):
self.tableView.estimatedRowHeight = 122;
在您的委托上添加此方法:
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}