我正在为 iOS 开发一个应用程序,并且我正在使用带有 AutoLayout ON 的 Storyboard。我的一个视图控制器有一组 4 个按钮,在某些情况下我想让第一个按钮消失。
如果我使用该setHidden:TRUE
方法,UIButton 会变得不可见,但它仍然明显占用视图中的空间,结果是一个“洞”,我无法填充它,使剩余的 UIButton 浮向主视图的顶部。
在 Android 中,我会简单地使用View.GONE
而不是View.INVISIBLE
,但在 iOS 中,我一直坚持这种行为,我不想相信唯一的解决方案是手动(是的,我的意思是以编程方式)将剩余元素移动到顶部。
我以为我可以通过设置某种约束来使一切都像在 Android 中一样自动化,但我没有运气。
在我关闭自动布局之前,有人可以指出正确的方向吗?
我正在使用 IB,但我也对程序化的东西感到满意。
更新:
将组件高度设置为 0 也无济于事。
我试过这样的事情:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;