blu*_*ere 6 uicollectionviewcell swift ios8 uitableviewautomaticdimension ios9
我正在按照本教程制作自定尺寸单元格.
我将自定义单元格注册到表格视图中,在单元格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()
Run Code Online (Sandbox Code Playgroud)
小智 13
在返回单元格之前,在"cellForRowAtIndexPath"方法中添加以下代码.
cell.setNeedsUpdateConstraints()
cell.updateConstraintsIfNeeded()
Run Code Online (Sandbox Code Playgroud)
要使其在iOS 8上运行,您需要3件事:
1)在您的视图上设置表"估计行高"加载方法.
tableView.estimatedRowHeight = 200.0
Run Code Online (Sandbox Code Playgroud)
2)实现"单元格的表视图高度...方法".(如果您的类不是'UITableViewController'的子类,并且您自己添加表视图,则删除'覆盖'.
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
Run Code Online (Sandbox Code Playgroud)
3)当你在'table view cell for row at ...'方法中返回你的单元格时,调用'updateConstraintsIfNeeded'方法.
cell.updateConstraintsIfNeeded()
return cell
Run Code Online (Sandbox Code Playgroud)
注意:iOS 9+不需要第3步
| 归档时间: |
|
| 查看次数: |
12481 次 |
| 最近记录: |