Swift动态表格单元格高度

Spy*_*Zip 33 height uitableview ios ios-autolayout

我有原型单元的tableview,在单元格中我有imageview和一些文本.文本标签是原型单元格中的一个,但有时它不止一行,我在服务器调用后将数据加载到表视图中.故事板行中的标签设置为0,换行符设置为Word Wrap.我也试过http://candycode.io/automatically-resizing-uitableviewcells-with-dynamic-text-height-using-auto-layout/

但没有效果.如果我在UITableView中使用自动布局用于动态单元格布局和变量行高度 一切正常,因为标签文本是预定义的,但是我从服务器加载数据并在API调用后重新加载tableView,然后标签就是一条线.

iVa*_*run 39

您应该使用UITableViewAutomaticDimension提供显示动态内容的解决方案.

使用以下代码viewDidLoad:

tableView.estimatedRowHeight = YourTableViewCellHeight
tableView.rowHeight = UITableView.automaticDimension
Run Code Online (Sandbox Code Playgroud)

从这里了解更多

希望能帮助到你.:)

  • 这适用于自动布局!我还补充说,需要“tableView.estimatedRowHeight = xxx”才能使其工作,它不是可选的。 (2认同)

小智 20

确保UILabel高度约束不是常数,如果常量则必须 从属性检查器设置大于或等于的大小

确保按照你的要求设置UITableViewestimate行高.

self.TableName.estimatedRowHeight = 85
Run Code Online (Sandbox Code Playgroud)

确保您的UITableViewDelegate方法

 Cell.lbl_name.sizeToFit()


 Cell.lbl_name.numberOfLines = 0
Run Code Online (Sandbox Code Playgroud)