隐藏的UILabel下的UIButton将无法正常工作

时间:2011-07-05 14:50:38

标签: iphone uibutton touch uilabel hidden

我有一个很大的UILabel,当我做其他事情时,我用它来覆盖一堆按钮 我最初设置的所有内容都是myLabel.hidden = YES;,因此您无法看到UILabel,但UIButtons(位于其下方)将无法使用。

我可以使用UILabel设置其他设置,以便在隐藏时允许触摸“穿过它”吗?感谢。

6 个答案:

答案 0 :(得分:2)

为什么要使用UILabel来遮盖按钮。

只需设置

UIButton *button;
[button setUserInteractionEnabled:NO];

[button setUserInteractionEnabled:YES];

答案 1 :(得分:0)

您可以使用addSubViewremoveFromSuperview方法:

如果您想使用UILabel隐藏UIButton:

[self.view addSubview:myLabel];

相反:

[myLabel removeFromSuperview];

答案 2 :(得分:0)

我不确定为什么隐藏会停止按钮上的触摸事件。无论如何,您可以通过以下调用明确地将按钮置于前台。

[self bringSubviewToFront:button];

答案 3 :(得分:0)

最简单的方法是作为隐藏或覆盖事物的一般方式直接使用UIView。设置:

[myCoverView setUserInteractionEnabled:YES]; 

它将截取触摸并阻止触摸它下方的按钮。

当你隐藏它或将alpha变为0.0时,它应该停止阻挡触摸; 您始终可以将覆盖视图交互设置为:

[myCoverView setUserInteractionEnabled:NO]; 

并且触摸将通过它。

如果您有某些原因需要UILabel,这些方法也可以使用它。

答案 4 :(得分:0)

[myLabel setUserInteractionEnabled:NO]。 即使被隐藏,无论如何,您的标签都会触及。你必须禁用它才能达到你想要的效果。

答案 5 :(得分:0)

我认为你应该隐藏你的按钮,而不是用标签覆盖它们。

[yourButton setHidden = YES]; 
[yourButton2 setHidden = YES]; 
...