我有一個連接了四個平移手勢的視圖。第一個觸摸的最大和最小觸點數都設置爲1,第二個觸摸點的數量等於2。這樣,每個觸摸屏只能識別一個觸摸,而最多四個手指在屏幕上滑動。使用手勢識別器,可以動態地堅持一觸之中
這是工作丹迪。什麼是不工作正在檢測個人觸摸結束。當所有手勢完全結束時,只有手勢結束時纔會發生的任何事情都會發生。
實例的委託方法:
- (void) handlePan:(UIPanGestureRecognizer*)recognizer {
//Setting what happens when a gesture is recognized as beginning
if (recognizer.state == UIGestureRecognizerStateBegan) {
//...whatever happens, bunnies follow your finger or whatever
} else
//Setting what happens when a gesture ends
if ((recognizer.state == UIGestureRecognizerStateEnded) |
(recognizer.state == UIGestureRecognizerStateCancelled) |
(recognizer.state == UIGestureRecognizerStateFailed)) {
NSLog(@"end");
}
}
什麼應該發生的事情是,我看到的「結束」,在任何時候手指擡起控制檯。相反,在所有手指擡起之前我什麼都看不到,在這一點上,我看到「結束」重複了四次(或者與屏幕上的手指一樣多)。
有沒有什麼辦法可以讓我按照自己的方式工作?
編輯擺弄之後,我發現我可能沒有正確分析我的問題。我想要檢測手勢觸摸何時結束的全部原因是,我希望手勢能夠在屏幕上有多個觸摸時變爲活動狀態,但我希望每個手勢僅跟蹤一個觸摸本身。我在跟蹤觸摸的手勢上設置了一個「活動」標誌,然後在觸摸結束後將該標誌切換掉,但這不起作用,因爲觸摸結束檢測很難實現。
但是,如果有不同的方式來實現同樣的事情,那就是我正在尋找的東西:在許多重疊的觸摸中,每個手勢識別器都跟蹤一個並且只有一個。
我認爲[此帖](http://stackoverflow.com/a/12434281/352891)將幫助 – user352891
@ user352891謝謝你的提示;它實際上涉及不同的事情。它根據手勢在屏幕上的位置進行區分,並且根本不執行任何狀態檢測。 –