2012-01-27 222 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