我想在我的swift 3应用程序中隐藏我的UIButton。隐藏UIButton,而不仅仅是删除可见性
目前我设置
cell.myButton.isHidden = true
这使得按钮不再可见,但按钮会乘坐空间还是服用。
我怎么能真正隐藏按钮?
我创建一个tableViewCell中的UIButton并与SnapKit
我想在我的swift 3应用程序中隐藏我的UIButton。隐藏UIButton,而不仅仅是删除可见性
目前我设置
cell.myButton.isHidden = true
这使得按钮不再可见,但按钮会乘坐空间还是服用。
我怎么能真正隐藏按钮?
我创建一个tableViewCell中的UIButton并与SnapKit
设置的限制,我想你可以使用setNeedsLayout
来调整你的tableViewCell子视图的位置。当您在tableViewCell类设置你的buttonHide财产,也叫self.setNeedsLayout()
那么你viewDidLayoutSubview
将被触发,在其中你应该设置你的tableViewCell的子视图的框架。
如何设置高度为的tableView行作为0?
我有连续的tableView需要显示在其他元素。 – develth
@develth,如果你设置一个高度约束等于0的按钮?如果您使用的是Storyboard约束,我会告诉您为高度约束创建一个插口,并在您想隐藏该按钮时将常量设置为0。但是,当你使用SnapKit时,也许你可以设置高度= 0的按钮约束。 –
你有不同的选择。
您可以添加约束你的按钮的高度和宽度,将它们连接起来的网点,并设置限制常量为0。这将使他们零大小。
从它的上海华如图@ AymanKarram的回答,您可以删除的按钮,但你需要保持一个强大的参考,或会被释放。 (尝试删除@IBOutlet声明myButton
上的弱限定符作为测试,这将导致IBOutlet拥有强大的参考。)
我didn't通过故事板创建的视图,所以我没有任何@IBOutlets 任何可能性,以保持项目,我需要与AymanKarram's那个按钮回答? – develth
创建一个实例变量并保存你的按钮。 –
实例变量将保留对按钮的拥有引用,以便在从超级视图中删除按钮时不会取消分配。 –
我调用了cell.setNeedsLayout - 但没有任何更改。 – develth
@develth在你tableViewCell类,你需要重写'viewDidLayoutSubview'并把所有子视图在正确的地方(在你的buttonHide财产的价值基础) – jokeman