swift - UITableViewAutomaticDimension 不适用于 iOS 8

标签 swift ios8 ios9 uicollectionviewcell uitableviewautomaticdimension

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

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

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

在 iOS 8 中,一个单元格没有合适的高度,并且不是每个标签都显示它的全文。

iOS 8 不适合:

enter image description here

iOS 9 如我所料:

enter image description here

如有任何建议,我们将不胜感激!

更新

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/

相关文章:

objective-c - CLLocation 没有显示准​​确的结果

ios - Objective-C 方法' Controller :didChangeObject:atIndexPath:forChangeType:newIndexPath

ios - 我怎样才能制作表情符号或输入任何内容

ios - 尝试获取文档文件夹 URL 时发生 BAD_ACCESS 异常

xcode - Swift 2.0 Xcode 7.1 图像选择器前置摄像头图像在选择时旋转

ios - 更改颜色图钉 iOS 9 Mapkit

ios - 导出视频总是失败

swift - DispatchQueue 和 [weak self] workItems。 【弱小的自己】有必要吗?

ios - 新的 iOS 目标是应用内购买

ios - 在 iOS 中使用 NSURLConnection 按顺序下载文件