iOS 8.3打破了自动单元格高度

时间:2015-05-03 08:55:43

标签: ios ios8 ios8.3

长期读者,第一次海报。

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

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

Cell Height Project ZIP

Screenshot comparison http://jeffburg.com/skitch/CellHeightProjectComparison.png

谢谢! -Jeff

3 个答案:

答案 0 :(得分:3)

我检查了你的代码,发现了问题。

通过AppCodas article阅读有关自我调整大小的单元格,使用estimatedRowHeight时看起来应该使用UITableViewAutomaticDimension(我自己没有使用它,无法确认)。因此,请删除以下行:

self.tableView.rowHeight = UITableViewAutomaticDimension

或添加(如果您的单元格高度将根据内容进行更改):

self.tableView.estimatedRowHeight = 122;

答案 1 :(得分:1)

我以前在iOS> 8.3项目中遇到了同样的问题。我通过实现委托方法而不是在viewDidLoad中设置rowHeight来修复您的sample项目。这肯定是与UITableView相关的错误,所以你没有做错任何事。

答案 2 :(得分:0)

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

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}