2010-08-13 163 views

回答

90

設置UIView.exclusiveTouch。

+0

太棒了!爲什麼我沒有想到那個我不知道的按鈕?! – pryomoax 2010-08-13 20:47:34

+4

完美!這就像隱藏的寶藏,從來不知道這個屬性,非常感謝。 – RVN 2011-07-14 12:48:31

+8

請注意在每個「UIButton」上設置它!不是UIView那些按鈕在:)(設置在該UIView將做的所有子視圖) 像這樣 - > [self.controlview.subviews makeObjectsPerformSelector:@selector(setExclusiveTouch :) withObject:[NSNumber numberWithBool:YES] ]。 – Hlung 2012-04-27 17:28:17

11

您還可以使用下面的方法。如果您有兩個或更多按鈕,則一次不能多次按下。

用於例如,

[Button1 setExclusiveTouch:YES]; 

[Button2 setExclusiveTouch:YES]; 

設置此方法在您的viewDidLoadviewWillAppear

2
for(UIView* v in self.view.subviews) 
    { 
    if([v isKindOfClass:[UIButton class]]) 
    { 
     UIButton* btn = (UIButton*)v; 
     [yourButton setExclusiveTouch:YES]; 
    } 
} 
0

你需要找到該視圖上的所有按鈕和設置 「exclusiveTouch」 屬性爲了防止多點觸摸在同一時間。

func exclusiveTouchForButtons(view: UIView) { 
    for cmp in view.subviews { 
     if let cmpButton = cmp as? UIButton { 
      cmpButton.exclusiveTouch = true 
     } else { 
      exclusiveTouchForButtons(cmp) 
     } 
    } 
}