我的UITableViewCell通过将其高度设置为零而变得不可见:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return isCollapsed ? 0 : 50
}
在该单元格中,我约束了单元格视图从顶部到底部的每个视图。除了UIButton之外,每个视图都有效。但是当单元格的高度为零时,UIButton文本不会消失。我认为它与UIButton文本有关,而不依赖于父高度。当单元格折叠时,UIButton背景颜色会消失。 我找到的最佳解决方案是使用UILabel。但它没有触摸动画。是否有其他解决方案没有手动隐藏按钮?
答案 0 :(得分:0)
Swift 3.0
UIButton
是UILabel
的子类。如果你设置hight为按钮的零,但UILabel
hight不为零。你需要隐藏该按钮。然后,当cell
的高度为零时,它不会出现在单元格中。
cell.btn.isHidden = true
答案 1 :(得分:0)
当您使单元格的高度为0时,子视图将保持其之前指定的高度。因此,子视图也必须从单元格中删除或必须使其alpha 0。
尝试:
cell.contentView.removeFromSuperview()
,或者
cell.contentView.alpha = 0
或,
通过单独获取单元格,使alpha为零(或删除)单元格的子视图。