草庐IT

swift - UITableViewAutomaticDimension 不适用于 iOS 8

coder 2023-09-04 原文

我在关注这个 tutorial制作自定大小的细胞。

我将自定义单元格注册到 TableView 中,并在单元格 xib 中手动给每个 subview 约束。请引用source code in GitHub

在一个单元格的内容 View 中垂直排列 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()

最佳答案

在返回单元格之前的“cellForRowAtIndexPath”方法中添加以下代码。

    cell.setNeedsUpdateConstraints()
    cell.updateConstraintsIfNeeded()

关于swift - UITableViewAutomaticDimension 不适用于 iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584307/

有关swift - UITableViewAutomaticDimension 不适用于 iOS 8的更多相关文章

随机推荐