在我的视图中有重置按钮。我需要禁用userinteraction,除了那个按钮。我可以这样做,任何人都可以共享代码。提前谢谢吗?
答案 0 :(得分:7)
btn1是你的按钮,self.view - 你的观点
for (UIView *view in self.view.subviews)
view.userInteractionEnabled=NO;
btn1.userInteractionEnabled=YES;
答案 1 :(得分:0)
对于所有元素,都有一个属性userinteractionenabled。将其设置为false
yourelement.userInteractionEnabled = NO;
同时将您的UIButton置于视图层之上。
其他选项是在整个视图上放置一个透明的UIButton,并在此视图的顶部放置UIButton。这样只有你的UIButton触摸了。其他接触将通过透明按钮进行,该按钮不起作用。
答案 2 :(得分:0)
更好的方法,定义一个可以帮助你的“神奇价值”:
#define kDontDisableUserInteraction 3928473
然后将此值设置为您不希望禁用的按钮的标记:
[resetButton setTag:kDontDisableUserInteraction];
您现在可以在superview的类中创建一个函数:
- (void)setInterfaceEnabled:(BOOL)newEnabled { for (UIView *subview in self.subviews) { if (subView.tag != kDontDisableUserInteraction) continue; subView.userInteractionEnabled = newEnabled; } }
这允许您创建其他不可禁用的按钮,只需为它们提供正确的标记(可以是您想要的任何int值,而不仅仅是3928473,取决于您的#define)。