可展开的UITableViewCell内的UIButton不会消失

时间:2017-05-17 07:29:23

标签: ios swift uibutton expandable-table

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

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

在该单元格中,我约束了单元格视图从顶部到底部的每个视图。除了UIButton之外,每个视图都有效。但是当单元格的高度为零时,UIButton文本不会消失。我认为它与UIButton文本有关,而不依赖于父高度。当单元格折叠时,UIButton背景颜色会消失。 我找到的最佳解决方案是使用UILabel。但它没有触摸动画。是否有其他解决方案没有手动隐藏按钮?

2 个答案:

答案 0 :(得分:0)

Swift 3.0

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

cell.btn.isHidden = true

答案 1 :(得分:0)

当您使单元格的高度为0时,子视图将保持其之前指定的高度。因此,子视图也必须从单元格中删除或必须使其alpha 0。

尝试:

cell.contentView.removeFromSuperview()

,或者

cell.contentView.alpha = 0

或,

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