web-dev-qa-db-ja.com

複数のボタンが同時に触れられないようにする

IOSでは、複数のボタン(兄弟)を含むUIViewが同時にタッチされないようにする方法はありますか?たとえば、並んでいる2つの重なり合わないボタンは、2回のタッチで同時にタップできます。

37
pryomoax

UIView.exclusiveTouchを設定します。

99
tc.

以下の方法も使用できます。ボタンが2つ以上ある場合は、一度に複数のプッシュを防ぐため。

たとえば、

[Button1 setExclusiveTouch:YES];

[Button2 setExclusiveTouch:YES];

このメソッドをviewDidLoadまたはviewWillAppearに設定します

11

Swift 4構文:

    buttonA.isExclusiveTouch = true
    buttonB.isExclusiveTouch = true
3
Aaron Halvorsen
for(UIView* v in self.view.subviews)
    {
    if([v isKindOfClass:[UIButton class]])
    {
        UIButton* btn = (UIButton*)v;
        [yourButton setExclusiveTouch:YES];
    }
}
2
Anurag Sharma

マルチタッチを同時に防ぐには、そのビューのすべてのボタンを見つけて、「exclusiveTouch」プロパティをtrueに設定する必要があります。

func exclusiveTouchForButtons(view: UIView) {
    for cmp in view.subviews {
        if let cmpButton = cmp as? UIButton {
            cmpButton.exclusiveTouch = true
        } else {
            exclusiveTouchForButtons(cmp)
        }
    }
}
0
Jorge Paiz
I have tried both  multiTouchEnabled and exclusiveTouch but unfortunately 
none of them workout for me.I have tried the following code worked 
perfectly.

このコードを.hファイルに設定します

BOOL ClickedBool;

メソッドの開始時に次のコードを設定します。

if(ClickedBool==TRUE)
{
     return;
}
else
{
    ClickedBool=TRUE;
}
0
SURESH SANKE