根据tableview单元格的类型更改行高

时间:2017-07-15 05:49:22

标签: ios swift uitableview swift3

我有一个包含两个自定义单元格的表格视图。有没有办法让这两个细胞有不同的高度?

3 个答案:

答案 0 :(得分:0)

当然,

以下是apple doc Working with Self Sizing TableViewCells

首先,您的单元格应该正确设置约束。

第二,在View Controller中你应该写

self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 44.0 // non zero value 
viewDidLoad()

中的

或者您可以从委托方法返回不同的高度 func tableView(UITableView, heightForRowAt: IndexPath)

答案 1 :(得分:0)

你绝对可以做到这一点,

确保您的两个单元格都足以适合自动尺寸。

在您使用tableView的班级中,在viewDidLoad中写下这两行。

//as per your table Outlet name, in my case it's tableView

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 36.0

或者,您也可以在UITableView方法中定义高度。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        // Your cell Height
    }

答案 2 :(得分:0)

你有两种方法可以做到这一点

  1. 来自UITableView方法

    func tableView(_ tableView:UITableView,heightForRowAt indexPath: IndexPath) - > CGFloat的       在此方法中,您可以相对于每个单元格设置高度       对于       " indexpath.row"

  2. UITableViewAutomaticDimension 在ViewDidLoad或其他初始方法中写这样的

    self.tableView.rowHeight = UITableViewAutomaticDimension self.tableView.estimatedRowHeight = 44