Swift/XCode 6.4:如何以编程方式更改表视图控制器中单元格的高度

Sag*_*usA 1 xcode uitableview ios swift

在我的iOS应用程序中,有一个静态单元格的表格视图控制器,其中包含三种不同类型的单元格,其样式为Subtitle.其中一个应该比其他两个高得多,因为它应该包含很长的文本.因此,在它的大小检查器中,我设置了100的高度,但是当我通过其标识符在代码中创建新单元格时,高度始终是默认值.

我该怎么改变它?我已经读过我应该覆盖这个方法:

override func tableView(tableView: UITableView,
    heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

        return 100 //Whatever fits your need for that cell
}
Run Code Online (Sandbox Code Playgroud)

但后来我不知道如何使用它.你能解释一下吗? 在此输入图像描述

Raj*_*jat 7

正如你所说的那样,你的tableview单元格是静态的,所以你知道哪个单元格具有更高的高度,indexpath在heightForRowAtIndexPath中传递该单元格并从那里返回预期的单元格高度.假设您的第一个单元格具有更高的高度,那么请使用heightForRowAtIndexPath这样的单元格

 func tableView(tableView: UITableView,
    heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if indexPath.row == 1 {
            return 100 //Whatever fits your need for that cell
        } else {
            return 50 // other cell height
        }
}
Run Code Online (Sandbox Code Playgroud)

无需创建三个不同的原型单元,只需在单元格上创建就足够了.