2012-01-27 141 views
2

我試圖把兩個按鈕放在屏幕上,並設置它們,以便用戶需要同時按下它們以便觸發一個動作。兩個按鈕同時按下輸入

這與Windows上的ctrl + alt + del類似,或者核激活序列如何需要兩個人同時在不同位置按下按鈕。

什麼可能是最好的方法?創建一個截取觸摸的視圖,然後查看觸摸的位置?

回答

8

由於UIButtonUIControl的子類,因此它繼承UIControltouchInside屬性。此外,當UIButton發送touch-up-inside動作時,它仍然響應touchInsideYES。所以,你可以只掛鉤兩個按鈕到這個行動:

- (IBAction)buttonWasTouched:(id)sender { 
    if (self.button1.touchInside && self.button2.touchInside) { 
     [self launchNukes]; 
    } 
} 

默認情況下,Interface Builder的鉤,當你控制的同時拖動觸摸上內事件。如果您想在第二個按鈕同時觸摸的時刻啓動核武器,請掛上觸發事件。你可以通過按住Control鍵點擊按鈕來代替控制拖動它們。

+0

我有機會測試一下,並且能夠簡化我的答案。 – 2012-01-28 03:42:00

+0

哇哇!爲我工作......不知道這很容易! – Joe 2012-01-28 05:50:33

+0

我試過這種方法,但如何檢測一個按鈕動作和兩個按鈕動作之間?我將同時收到這兩份。 – JoeyJAL 2014-07-09 09:44:19