UIButton高度为0但标题仍然可见

时间:2014-03-17 19:41:27

标签: ios objective-c uibutton constraints

我有一个带有约束的UIButton。在视图控制器的界面中,我为按钮的高度约束创建了IBOutlet。在viewDidLoad方法中,我有代码:

myButtonConstraint.constat = 0;
[self.view layoutIfNeeded];

viewWillAppear中,按钮的高度为0,但在模拟器上仍然可以看到按钮的标题。即使按钮的标题可见,按钮也不可点击,它不会执行任何操作。

发生了什么事?

3 个答案:

答案 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];