2011-05-18 115 views
3

我正在創建一個用於遊戲項目的圖像拼貼庫,以適應我們現有的框架。我目前正在使用一個UIScrollView(有一個空視圖)來允許我劫持漂亮的物理物體,以便反彈,但是我必須使用捏手勢識別器來實現我自己的縮放(因爲我不會介入) 。滾動視圖平移可防止捏手勢?

這裏的東西,雖然 - 當我用一個手指平移,增加了第二觸摸,並試圖縮小什麼都不做。在我允許放大之前,我必須絕對保持沉默。當用戶在圖像周圍平移時,我的捏手勢識別器不會啓動,除非平底鍋完全結束。

有誰知道解決的辦法,不涉及報廢的UIScrollView和實現我自己的鍋呢?

這是我的scrollViewDidScroll功能:

我的手勢識別器直接添加到滾動視圖中的init:

[scrollView addGestureRecognizer:[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(didReceivePinch:)] autorelease]]; 

回答

0

你試過從蘋果公司的ZoomingPDFViewerPhotoScroller什麼?在Photo Scroller中,圖像是平鋪的,平鋪的,然後放大。希望有一些東西可以擺脫它。如果解壓文件時遇到問題,請嘗試從Xcode下載。

我想我還發現了其他幾個人做的事情緊密:

https://stackoverflow.com/questions/5383757/scaling-panning-a-uiimageview-using-pinch-and-swipe-gestures-free-code

http://answers.unity3d.com/questions/22500/how-to-zoom-and-pan-when-you-pinchswipe-across-scr.html

http://technology.blurst.com/iphone-multi-touch/

希望它能幫助。

+0

是啊,我已經通過他們兩個看了,但問題是,它們都只是使用滾動視圖呈現他們的現場,而我們希望在我們自己的OpenGL渲染系統的完全控制權。這就是問題所在 - UIScrollView中的縮放值完全取決於您在viewForZoomingInScrollView中傳遞的視圖,並期望您對它提供的內容感到滿意 - 即使將它傳遞給空白視圖也不能解決我們的問題。說實話,我想我只需要移除滾動視圖並使用觸摸重新實現其一些功能。痛苦的一點,但不是太糟糕。 :) – Adam 2011-05-20 00:26:41

0

嘿亞當,我不知道你是否已經重寫任何東西,但我對你有一些替代品hereherehere,更糟糕的情況下,有人問同樣的問題here。希望有所幫助。

1

您需要設置GestureRecognizer對象的代表,並在委託實現此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer; 

,並將它返回YES。