【发布时间】:2013-07-26 00:14:35
【问题描述】:
我正在为 iOS 开发一个应用程序,并且我正在使用启用了 AutoLayout 的 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;
【问题讨论】:
-
按钮的高度设置为零怎么样?
-
我试过这样的:UIButton * b; CGRect frameRect = b.frame; frameRect.size.height = 0; b.frame = frameRect;没有运气:(
-
我知道这是一个非常老的问题,但是如果您使用自动布局,将框架设置为 0 的更新将无济于事。您必须将高度约束设置为 0
标签: iphone ios interface-builder visibility autolayout