IOSでは、複数のボタン(兄弟)を含むUIViewが同時にタッチされないようにする方法はありますか?たとえば、並んでいる2つの重なり合わないボタンは、2回のタッチで同時にタップできます。
UIView.exclusiveTouchを設定します。
以下の方法も使用できます。ボタンが2つ以上ある場合は、一度に複数のプッシュを防ぐため。
たとえば、
[Button1 setExclusiveTouch:YES];
[Button2 setExclusiveTouch:YES];
このメソッドをviewDidLoad
またはviewWillAppear
に設定します
Swift 4構文:
buttonA.isExclusiveTouch = true
buttonB.isExclusiveTouch = true
for(UIView* v in self.view.subviews)
{
if([v isKindOfClass:[UIButton class]])
{
UIButton* btn = (UIButton*)v;
[yourButton setExclusiveTouch:YES];
}
}
マルチタッチを同時に防ぐには、そのビューのすべてのボタンを見つけて、「exclusiveTouch」プロパティをtrueに設定する必要があります。
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;
}