In iOS is there anyway to prevent a UIView containing multiple buttons (siblings) from being simultaneously from being touched? For instance, two non-overlapping buttons that are side by side can be tapped at the same time with two touches.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Set UIView.exclusiveTouch.
回答2:
You can also use below method. If you have two buttons or more, to prevent multiple push at a time.
for e.g,
[Button1 setExclusiveTouch:YES];
[Button2 setExclusiveTouch:YES];
Set this method in your viewDidLoad
or viewWillAppear
回答3:
Swift 4 Syntax:
buttonA.isExclusiveTouch = true
buttonB.isExclusiveTouch = true
回答4:
for(UIView* v in self.view.subviews)
{
if([v isKindOfClass:[UIButton class]])
{
UIButton* btn = (UIButton*)v;
[yourButton setExclusiveTouch:YES];
}
}
回答5:
You need to find all buttons on that view and set the "exclusiveTouch" property to true in order to prevent multi touch at the same time.
func exclusiveTouchForButtons(view: UIView) {
for cmp in view.subviews {
if let cmpButton = cmp as? UIButton {
cmpButton.exclusiveTouch = true
} else {
exclusiveTouchForButtons(cmp)
}
}
}
回答6:
I have tried both multiTouchEnabled and exclusiveTouch but unfortunately
none of them workout for me.I have tried the following code worked
perfectly.
Set this code at .h file
BOOL ClickedBool;
Set the following code at method start.
if(ClickedBool==TRUE)
{
return;
}
else
{
ClickedBool=TRUE;
}