【发布时间】:2017-10-05 10:24:55
【问题描述】:
我在自定义 UITableViewCell 类中有一个按钮。它显示/隐藏视图(同一单元格的一部分)。这样做时,单元格的高度应该改变。
这是按钮操作(在UITableViewCell 自定义类中):
@IBAction func showHideCartView(sender: UIButton)
{
if sender.tag == 1
{
// Show cart view
self.buttonArrow.tag = 2
self.viewAddToCart.isHidden = false
self.constraint_Height_viewAddToCart.constant = 50
self.buttonArrow.setImage(UIImage(named: "arrowUp.png"), for: .normal)
}
else
{
// Hide cart view
self.buttonArrow.tag = 1
self.viewAddToCart.isHidden = true
self.constraint_Height_viewAddToCart.constant = 0
self.buttonArrow.setImage(UIImage(named: "arrowDown.png"), for: .normal)
}
self.setNeedsUpdateConstraints()
self.setNeedsLayout()
self.layoutIfNeeded()
}
单元格的高度保持不变。只有当我滚动 UITableView 并重新访问单元格时,它的高度才会更新。
【问题讨论】:
-
我已经实现了与你的非常相似的东西,但我所要做的就是“self.tableView.beginUpdates() self.tableView.endUpdates()”。请试一试
-
@Siyavash : 我在 UITableViewCell 自定义类中写了上面的内容
-
哦,这可能就是为什么,我会写一个可能的解决方案
-
@Siyavash :从 UITableViewCell 类中也很容易做到这一点。但我担心这是否是正确的做法。
-
但是在“滚动 UITableView 并重新访问单元格”之前,“单元格的高度保持不变”的原因可能是因为您的表格视图仍在使用旧单元格
标签: ios swift uitableview