如何在iOS中的表格视图单元格上设置单击以展开?

时间:2016-09-15 21:13:45

标签: ios swift uitableview

我正在为iOS编写应用程序并拥有自定义单元格类,如下所示:

import UIKit

class cell: UITableViewCell {
    @IBOutlet weak var NameLabel: UILabel!
    @IBOutlet weak var DescriptionLabel: UILabel!
    @IBOutlet weak var CreatorLabel: UILabel!
    @IBOutlet weak var TypeLabel: UILabel!
    @IBOutlet weak var LocationLabel: UILabel!
    @IBOutlet weak var noneFoundLabel: UILabel!
}

此自定义单元格在表格视图中引用如下:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let myCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! cell
    //Do the stuff
}

通过调用数组的计数来迭代单元格并且工作正常。无论如何,显示器上的单元尺寸稍微小一点,因此它只显示名称和描述,一旦点击将展开以向用户显示其余信息。然后一旦点击,它会再次崩溃?

1 个答案:

答案 0 :(得分:1)

很可能。您需要跟踪哪些细胞被扩展。将此信息添加到数据源使用的数据中。

实施heightForRowAtIndexPath功能。根据给定的indexPath是否展开,返回适当的高度。

cellForRowAtIndexPath功能中,根据单元格是否展开来配置单元格。

实施didSelectRowAtIndexPath功能。切换给定indexPath的扩展状态,并在该索引路径重新加载行。