3

长期读者,第一次海报。

我在我的应用程序中使用自动单元格高度和自动布局。在 iOS 8.3 和 8.4 中,这似乎被打破了。我有一个示例项目。内置 8.2 或更低版本时,它可以正常工作。单元格高度由自动布局确定。在 8.3 或 8.4 中构建时,它不起作用。我在网上搜索过,没有看到有人发布关于这个问题的帖子。

看看下面的屏幕截图。任何帮助表示赞赏。

单元高度项目 ZIP

截图比较 http://jeffburg.com/skitch/CellHeightProjectComparison.png

谢谢!-杰夫

4

3 回答 3

3

我检查了您的代码并发现了问题。

通读了AppCodas关于self-sizing cells的文章,看起来应该在使用的estimatedRowHeight时候使用UITableViewAutomaticDimension(自己没用过,无法确认)。所以要么删除以下行:

self.tableView.rowHeight = UITableViewAutomaticDimension

或添加(如果您的单元格高度将根据内容发生变化):

self.tableView.estimatedRowHeight = 122;
于 2015-05-03T20:32:56.627 回答
1

我曾经在我的 iOS >8.3 项目上遇到过同样的问题。我通过实现委托方法而不是在 viewDidLoad 中设置 rowHeight 来修复您的示例项目。这绝对是一个与 UITableView 相关的 bug,所以你没有做错任何事情。

于 2015-05-03T09:15:28.607 回答
0

在您的委托上添加此方法:

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}
于 2015-05-12T09:01:41.177 回答