由于文字扩展了100个字符,我的commentCell
会显示更多按钮。当我按下它时,单元格应将行限制为0并重新加载单元格。
问题是我必须按两次单元格才能放大两倍以最小化单元格。
这是我扩大单元格的代码:
@IBAction func expandTextField(_ sender: UIButton) {
let currentIndexPath = IndexPath(row: sender.tag, section: 0)
self.state = !self.state
print(state)
self.tapMore.setTitle(self.state ? self.decreaseState: self.expandState, for: .normal)
self.commentLabel.numberOfLines = (self.state ? self.expandedLines: self.numberOfLines)
self.parentViewControllerCommentCell?.tableView.reloadRows(at: [currentIndexPath], with: .none)
}
注意:该功能正常,但只有点击总共2次。正确的单元格会放大,按钮的说明会相应更改。
重要
我尝试使用print语句查看状态何时发生变化。正如我所说,它每隔一次才会这样做。
true
true
false
false
当我删除
时self.parentViewControllerCommentCell?.tableView.reloadRows(at: [currentIndexPath], with: .none)
功能,只需点击一下即可更改。
提前致谢!
答案 0 :(得分:0)
UITableView
重复使用单元格。当你重新加载一行时,它会被一个可用于娱乐的单元替换。
无法保证重用的单元格将具有您在要替换的单元格中设置的参数。
您应该存储表格视图中的字符数是否在数据存储中的布尔值中达到100,而不是单元格本身。