当前位置:  开发笔记 > IOS > 正文

UITableViewAutomaticDimension无法在iOS 8上运行

如何解决《UITableViewAutomaticDimension无法在iOS8上运行》经验,为你挑选了2个好方法。

我正在按照本教程制作自定尺寸单元格.

我将自定义单元格注册到表格视图中,在单元格xib中,我手动给出了每个子视图约束.请参阅GitHub中的源代码

在一个单元格的内容视图中垂直排列3个标签在iOS 9中运行良好,但在iOS 8中运行良好(均在设备和模拟器中测试).

在iOS 8中,一个单元格没有拟合高度,并且并非每个标签都显示全部文本.

iOS 8不合适:

在此输入图像描述

iOS 9正如我所料:

在此输入图像描述

任何意见,将不胜感激!

更新

代码viewDidLoad:

 tableView.registerNib(UINib.init(nibName: "SelfSizingCell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
 tableView.dataSource = self
 tableView.delegate = self
 tableView.estimatedRowHeight = 60.0
 tableView.rowHeight = UITableViewAutomaticDimension
 tableView.reloadData()

小智.. 13

在返回单元格之前,在"cellForRowAtIndexPath"方法中添加以下代码.

    cell.setNeedsUpdateConstraints()
    cell.updateConstraintsIfNeeded()

仅使用cell.updateConstraintsIfNeeded() (6认同)


Pochi.. 6

要使其在iOS 8上运行,您需要3件事:

1)在您的视图上设置表"估计行高"加载方法.

tableView.estimatedRowHeight = 200.0

2)实现"单元格的表视图高度...方法".(如果您的类不是'UITableViewController'的子类,并且您自己添加表视图,则删除'覆盖'.

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

3)当你在'table view cell for row at ...'方法中返回你的单元格时,调用'updateConstraintsIfNeeded'方法.

cell.updateConstraintsIfNeeded()

return cell

注意:iOS 9+不需要第3步



1> 小智..:

在返回单元格之前,在"cellForRowAtIndexPath"方法中添加以下代码.

    cell.setNeedsUpdateConstraints()
    cell.updateConstraintsIfNeeded()


仅使用cell.updateConstraintsIfNeeded()

2> Pochi..:

要使其在iOS 8上运行,您需要3件事:

1)在您的视图上设置表"估计行高"加载方法.

tableView.estimatedRowHeight = 200.0

2)实现"单元格的表视图高度...方法".(如果您的类不是'UITableViewController'的子类,并且您自己添加表视图,则删除'覆盖'.

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

3)当你在'table view cell for row at ...'方法中返回你的单元格时,调用'updateConstraintsIfNeeded'方法.

cell.updateConstraintsIfNeeded()

return cell

注意:iOS 9+不需要第3步

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有