Xcode 7中Static Cells自动计算高度失效的解决方法

原创
2015/10/09 23:42
阅读数 263

在iOS 8及以后的版本,我们可以这样设置tableView,让它自动计算高度

self.tableView.estimatedRowHeight = 44
self.tableView.rowHeight = UITableViewAutomaticDimension

但升级到Xcode 7之后发现这个方法对设置为Static Cells的table view就不管用了(这里探讨了原因)。我们可以通过实现UITableViewDelegate里的方法达到同样的效果,代码如下:

Objective-C:

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

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

Swift:

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return 44
}
    
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部