ios - UITextView 取消隐藏后更改 UITableViewCell

标签 ios swift uitableview

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

关于如何解决这个问题有什么想法吗?

@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
    }

}

最佳答案

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

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

关于ios - UITextView 取消隐藏后更改 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32159567/

相关文章:

ios - 我的 UIButton 的位置在所有模拟器中都不同

iphone - Monotouch UIScrollView,放大时文本模糊

ios - 在 iMessage 应用程序中使用现有数据库 (Swift)

ios - 错误指令错误

iphone - 使用 NSURLConnection 和 NSURLProtectionSpace 确定信任

ios - 如何在 iOS 上获取照片库中的图像拍摄位置(不是 GPS 坐标)?

iOS中文字符串显示?在按钮标签中时

ios - didSelectRowAtIndexPath 方法与使用 Swift 2 的 Parse 中的 Load More 函数冲突

ios - 更新 : How to checkmark select items from selection List by clicking Tableview cell in swift

ios - NSLayoutConstraints 在 UITableViewCell 中不受尊重