UIButton内置可扩展UITableViewCell不会消失



我有UITableViewCell,它通过将其高度设置为零而变得不可见:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return isCollapsed ? 0 : 50
}

在该单元格内,我从单元格视图的顶部到底部约束每个视图。除了UIButton之外的每个视图都可以工作。但是当单元格的高度为零时,UIButton 文本不会消失。我认为这与 UIButton 文本有关,不依赖于父高度。当单元格折叠时,UIButton 背景颜色确实会消失。我发现的最佳解决方案是改用UILabel。但它没有触摸动画。有没有另一种解决方案而不手动隐藏按钮?

当您将单元格的高度设为 0 时,子视图将保持其之前分配的高度。因此,子视图还必须从单元格中删除,或者必须将其 alpha 设为 0。

尝试像:

cell.contentView.removeFromSuperview()

cell.contentView.alpha = 0

通过单独获取单元格的子视图,使 alpha 零(或删除(它们。

Swift 3.0

UIButtonUILabel的子类。如果您将按钮的 hight 设置为零,但UILabel hight 不为零。您需要隐藏该按钮。然后它不会出现在单元格中,而cell的高度为零。

cell.btn.isHidden = true

最新更新