当基类实现 tableView:heightForRowAtIndexPath 时,如何使用 UITableViewAutomaticDimension:

How can I use UITableViewAutomaticDimension when the baseclass implements tableView:heightForRowAtIndexPath:

我有大约 30 个视图控制器,它们都有一个实现 "heighForRowAtIndexPath" 的公共基础 class。现在我们最近删除了 iOS 7 支持,这让我们可以使用 AutoLayout 进行漂亮的自动高度计算。我刚看到一个相当复杂的单元格,如果使用这个自动高度,它会很棒。

文档说明了这一点:

You may set the row height for cells if the delegate doesn’t implement the tableView:heightForRowAtIndexPath: method. The default value of rowHeight is UITableViewAutomaticDimension.

看来我的baseclass 实现了heightFor.. automatic 没有生效。

有什么办法解决这个问题吗?我会以某种方式需要"de implement"那个特定的方法。

您可以 return UITableViewAutomaticDimension 来自 heightForRowAtIndexPath 在您的 class(s):

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