在iOS中,无论如何都要防止同时触摸包含多个按钮(兄弟姐妹)的UIView?例如,可以通过两次触摸同时点击两个并排的非重叠按钮。
答案 0 :(得分:93)
设置UIView.exclusiveTouch。
答案 1 :(得分:11)
您也可以使用以下方法。如果您有两个或更多按钮,则一次防止多次按下。
例如,
[Button1 setExclusiveTouch:YES];
[Button2 setExclusiveTouch:YES];
在viewDidLoad
或viewWillAppear
答案 2 :(得分:2)
for(UIView* v in self.view.subviews)
{
if([v isKindOfClass:[UIButton class]])
{
UIButton* btn = (UIButton*)v;
[yourButton setExclusiveTouch:YES];
}
}
答案 3 :(得分:2)
快速4语法:
buttonA.isExclusiveTouch = true
buttonB.isExclusiveTouch = true
答案 4 :(得分:0)
您需要找到该视图上的所有按钮,并将“ exclusiveTouch ”属性设置为 true ,以防止同时出现多点触控。
func exclusiveTouchForButtons(view: UIView) {
for cmp in view.subviews {
if let cmpButton = cmp as? UIButton {
cmpButton.exclusiveTouch = true
} else {
exclusiveTouchForButtons(cmp)
}
}
}
答案 5 :(得分:0)
I have tried both multiTouchEnabled and exclusiveTouch but unfortunately
none of them workout for me.I have tried the following code worked
perfectly.
BOOL ClickedBool;
if(ClickedBool==TRUE)
{
return;
}
else
{
ClickedBool=TRUE;
}
答案 6 :(得分:0)
要启用独占触摸,您需要为每个元素设置属性 isExclusiveTouch
。
myView.isExclusiveTouch = true
如果您希望更改默认行为,您可以使用 UIView 类的 UIAppearance。
UIView.appearance().isExclusiveTouch = true