2012-01-04 158 views
0

我有一個用OpenGLES繪製的地圖,我有一個平移手勢識別器,其maximumNumberofTouches設置爲1以平移地圖並捏合手勢識別器進行縮放。我想在完成縮放之後開始平移,(一根手指離開屏幕),但是平移手勢識別器不會啓動,直到捏緊確認器完成,這是當它檢測到屏幕上沒有手指時。有任何想法嗎?如何從一個手勢識別器到另一個手勢識別器

回答

1

它可能會以允許兩者手勢是通過委託方法活性:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
    shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    // The two recognizers using the delegate (scale and rotate) should both be active. 
    // 
    return YES; 
} 

並保持跟蹤,如果用戶在變焦,不允許在平移手勢來執行,而代碼BOOL BOOL是YES。通過檢查touchesMoved:withEvent方法(或者其他一些UIGestureRegonizer方法)中的觸摸數來更改BOOL值。

我認爲這應該工作,我在一個允許縮放,旋轉和拖動的應用程序中做類似的操作,其中只有在用戶不縮放/旋轉時才允許拖動。

〜好運

+0

發現了類似的東西在這裏:http://www.mindtreatstudios.com/our-projects/ios-gesture-recognizer-tips-tricks/ – jfisk 2012-01-04 04:59:48