2013-11-14 78 views
0

我正在開發一個愛好項目,以瞭解有關ios編程的更多信息。用於3x3按鈕的多點觸控

我的主視圖有9個按鈕(3x3網格)。

我需要的是一種方法來知道用戶是否按下2或1按鈕以及這些按鈕是哪些按鈕。

我正在製作一個記憶遊戲,有時用戶需要同時按下兩個按鈕(一個接一個都不夠)。

我需要能夠使用戶按下9個按鍵的1或2

如果他們按超過2被視爲作弊,且將計爲罷工之間的區別。

我一直在閱讀這樣的:

https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html

但我不知道如何去做。

如何將我的9個按鈕連接到一個可以告訴我的不錯的多點觸控事件: 僅按下按鈕3。 或 按下按鈕4和5。 ?

從那裏的邏輯是完全清楚,但我有IOS多點觸摸事件的麻煩。

感謝

回答

1

的觸控界面是非常敏感,以至於人們將無法在「精確」同時按下兩個按鈕。

你可能要做的是看看他們是否觸摸了兩個並且在一個「合理」時間窗口內只有兩個按鈕被認爲是同時發生的。

一種方法是登錄的確切時刻每個按鈕按下一個NSDate* press = [NSDate date];呼叫,然後壓力機NSTimeInterval* interval = [press2 timeIntervalSinceDate press1];

時間間隔的一些聰明的配料和位條件邏輯後比較,你應該有一個「同步」印刷機的良好測試。

0

如果我理解文檔就應該像這樣工作:父視圖的

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event; 

方法

在(的UIEvent *)事件ü應該有UITouchs的NSSet中

NSArray *arrTouches = [[event allTouches] allObjects] 

遍歷數組和:

UITouch *touch --- 
touch.view -> check if this is button 

應該是女巫touh發生的看法