0
我一直在使用觸摸開始追蹤多達8個觸摸,並且每個觸發一個事件。這些觸摸可以同時發生,或交錯。XCode - touchBegan - 最近觸摸/新觸摸
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touch Began");
NSSet *allTouches = [event allTouches];
for (int i=0; i<allTouches.count; i++) {
UITouch *touch = [[allTouches allObjects] objectAtIndex:i];
if (/*touch inside button in question*/) {
//Trigger the event.
}
}
}
該代碼工作的多點觸控,它有沒有問題,除非:(看你能不能猜)
由於道路allTouches作品,它確實得到所有的觸摸。因此,當用戶開始另一次觸摸時,它循環顯示當前活動的所有觸摸,從而觸發其中一個按鈕的事件兩次。
例如:Johnny正在按下按鈕1.發生事件1。 Johnny將他的手指放在按鈕1上,然後按下按鈕2.發生事件2,但按鈕1仍然是所有觸摸的一部分,因此事件1再次觸發。
所以,這裏的問題是:我如何獲得新的觸摸?
Perfet!非常感謝! – 2010-09-29 23:53:10