增加细胞的高度

时间:2017-02-06 16:17:06

标签: ios swift uitableview height cell

我有一个UITableViewCell。在单元格内部,我有 UILabel UIButton ,当用户点击按钮时,文本展开但单元格没有。所以我希望细胞用标签增加它的高度。

我试过这段代码,但它给了我一个崩溃(意外地发现没有)

tableView.reloadRows(at: [IndexPath(row: 0, section: 0)], with: .fade)

也尝试了这个,再次崩溃

tableView.rowHeight = cellHeightNumber

所以基本上我希望它像这样工作

展开前:

Before expanding

扩展后:

After expanding

2 个答案:

答案 0 :(得分:0)

我可以给你两个解决方案:

  1. 抛弃reloadRows并改为使用reloadData,如下所示:tableView.reloadData()

  2. reloadRows包裹在beginUpdatesendUpdates之间,如下所示:

    override func viewDidLoad() {
        super.viewDidLoad()
    
        tableView.beginUpdates()
        // Your reloadRows codes here
        tableView.endUpdates()
    }
    

答案 1 :(得分:0)

你应该使用

  

UITableViewAutomaticDimension

提供了显示动态内容的解决方案。 在viewDidLoad中使用以下代码:

  

tableView.estimatedRowHeight = YourTableViewHeight tableView.rowHeight   = UITableViewAutomaticDimension

使用此链接: http://www.appcoda.com/self-sizing-cells/

还为表格单元格中的标签设置第0行的编号。

希望它有所帮助。 :)