Iphone 如何禁用除一个对象之外的视图的用户交互?
在我看来,有一个重置按钮。除了该按钮之外,我需要禁用userinteraction。如何才能做到这一点?任何人都可以共享代码。提前感谢?对于所有元素,都有一个属性userinteractionenabled。将其设置为falseIphone 如何禁用除一个对象之外的视图的用户交互?,iphone,objective-c,Iphone,Objective C,在我看来,有一个重置按钮。除了该按钮之外,我需要禁用userinteraction。如何才能做到这一点?任何人都可以共享代码。提前感谢?对于所有元素,都有一个属性userinteractionenabled。将其设置为false yourelement.userInteractionEnabled = NO; 同时将UIButton放在视图层次结构的顶部 另一个选项是在整个视图上放置一个tranparent UIButton,并将UIButton放置在此视图的顶部。这样,只有您的UIButto
yourelement.userInteractionEnabled = NO;
同时将UIButton放在视图层次结构的顶部
另一个选项是在整个视图上放置一个tranparent UIButton,并将UIButton放置在此视图的顶部。这样,只有您的UIButton是触控启用的。其他触摸将通过透明按钮进行,该按钮不起任何作用。btn1是您的按钮,self.view-您的视图
for (UIView *view in self.view.subviews)
view.userInteractionEnabled=NO;
btn1.userInteractionEnabled=YES;
更好的方法是,定义一个“神奇的价值”,它将帮助您: #define kDontDisableUserInteraction 3928473 #定义kDontDisableUserInteraction 3928473 然后将此值设置为您不希望禁用的按钮的标记: [resetButton setTag:kDontDisableUserInteraction]; [resetButton setTag:kDontDisableUserInteraction]; 现在可以在superview的类中创建函数: - (void)setInterfaceEnabled:(BOOL)newEnabled { for (UIView *subview in self.subviews) { if (subView.tag != kDontDisableUserInteraction) continue; subView.userInteractionEnabled = newEnabled; } } -(void)setInterfaceEnabled:(BOOL)newEnabled{ 用于(UIView*self.subview中的子视图){ if(subView.tag!=kDontDisableUserInteraction) 继续; subView.userInteractionEnabled=newEnabled; } }
这允许您创建其他不可禁用的按钮,只需给它们正确的标记(可以是您想要的任何int值,而不仅仅是3928473,取决于您的#define)。如果我有100个元素,那么这不是一个rght答案?是的,在这种情况下,您可以尝试第二个选项。这对我来说非常有用。用于将输入屏幕设置为只读模式。禁用所有功能,然后启用导航按钮。谢谢