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.
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.
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)
}
}
}
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;
}
To enable the exclusive touch you need to set the property isExclusiveTouch for each element.
myView.isExclusiveTouch = true
If you would want that the default behaviour changes you could use the UIAppearance of the UIView class.
UIView.appearance().isExclusiveTouch = true