2011-05-18 121 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。