【问题标题】:Changing UITableViewCell after UITextView becomes unhidden在 UITextView 变为未隐藏后更改 UITableViewCell
【发布时间】:2015-08-22 18:44:56
【问题描述】:

目前,我有一个高度为 406 的 UITableViewCell。但是,我希望单元格在按下按钮后扩展到 473 的高度。我在单元格内有一个隐藏的 UITextView,通过按下按钮,用户使文本视图可见,但单元格没有变大。

关于如何解决这个问题的任何想法?

@IBAction func descAndText(sender: AnyObject) {

    let singleTap = UITapGestureRecognizer(target: self, action: "showDesc")
    singleTap.numberOfTapsRequired = 1
    self.addGestureRecognizer(singleTap)
}


func showDesc() {

    if descriptionText.hidden == true {
        hello.theTableView.rowHeight = 473
        descriptionText.hidden = false
    } else {
        descriptionText.hidden = true
        hello.theTableView.rowHeight = 406
    }

}

【问题讨论】:

  • 缩写事物会降低可读性,但实际上不会减少编写代码所需的时间(代码完整意味着您键入 2-3 个字母而不是按 Tab,无论单词有多长)。
  • 你能展示一些UITableView相关的代码吗?
  • 这段代码是在我的自定义 TableViewCell 类中完成的。这会改变事情吗?

标签: ios swift uitableview


【解决方案1】:

您应该将有关单元状态的信息存储在其他地方。目前您将它存储在 UILabel 实例中 - 这意味着它会保留此信息,直到调用 UITableView 的 reload 方法,因为它会重建每个可重用单元格。

我建议在 NSMutableArray 实例中为每个单元格展开故事信息,并在 UITableView 的数据源方法中检查单元格是否展开,以提供正确的单元格高度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多