我有一个带有约束的UIButton
。在视图控制器的界面中,我为按钮的高度约束创建了IBOutlet
。在viewDidLoad
方法中,我有代码:
myButtonConstraint.constat = 0;
[self.view layoutIfNeeded];
在viewWillAppear
中,按钮的高度为0,但在模拟器上仍然可以看到按钮的标题。即使按钮的标题可见,按钮也不可点击,它不会执行任何操作。
发生了什么事?
答案 0 :(得分:50)
您可以在界面构建器上查看Clip Subviews
,或者如果您想通过代码执行此操作,请尝试以下操作:
myButton.clipsToBounds = YES
来自apple文档:
clipsToBounds
一个布尔值,用于确定子视图是否仅限于视图的边界。
@property(非原子)BOOL clipsToBounds
讨论
将此值设置为YES会导致子视图被剪切到接收器的边界。如果设置为NO,则不会剪切其帧超出接收器可见边界的子视图。默认值为NO。
答案 1 :(得分:4)
也许你应该致电
[button.layer setMasksToBounds:true];
然后layoutIfNeeded。
Obs。:可能需要Quartz框架。
答案 2 :(得分:-3)
无论按钮高度如何,标题始终可见,它是具有自己大小设置的UILabel。为什么你想要一个高度为0的按钮呢?如果要隐藏按钮,只需将按钮的隐藏属性设置为true;
[button setHidden:TRUE];