防止同时触摸多个按钮

pry*_*oax 37 iphone objective-c multi-touch uikit ios

在iOS中,无论如何都要防止同时触摸包含多个按钮(兄弟姐妹)的UIView?例如,可以在两次触摸的同时轻敲两个并排的非重叠按钮.

tc.*_*tc. 96

设置UIView.exclusiveTouch.

  • 请注意在每个"UIButton"上设置它!不是UIView那些按钮在:)(设置在UIView会做的所有子视图中)像这样 - > [self.controlView.subviews makeObjectsPerformSelector:@selector(setExclusiveTouch :) withObject:[NSNumber numberWithBool:YES]]; (9认同)
  • 完美!这就像隐藏的宝藏,从来不知道这个属性,非常感谢. (4认同)
  • @Hlung:这绝对不是*由文档保证,它说"该方法必须采用类型为id的单个参数".在x86上的AIUI,如果地址可以被256整除,那么它将等于NO(因为BOOL是一个有符号的字符,所以它只查看底部的8位).我也听说UIKit将2解释为NO(即代码只看底部位;不足为奇). (2认同)

Gaj*_*han 11

您也可以使用以下方法.如果您有两个或更多按钮,则一次防止多次按下.

例如,

[Button1 setExclusiveTouch:YES];

[Button2 setExclusiveTouch:YES];
Run Code Online (Sandbox Code Playgroud)

在你的viewDidLoad或中设置此方法viewWillAppear