我正在创建一个用于游戏项目的图像平铺库,以适应我们现有的框架。我目前正在使用一个UIScrollView(带有一个空视图),允许我劫持漂亮的物理效果,用于反弹,但我必须使用捏手势识别器实现我自己的缩放(原因我不会进入)
但事情就是这样 - 当我用一根手指平移时,添加第二个触摸并尝试缩放什么都不做。在它允许我缩放之前我需要绝对静止。当用户在图像周围平移时,除非平底锅完全完成,否则我的捏手势识别器不会触发。
有没有人知道解决这个问题的方法,这也不涉及废弃UIScrollView并实现我自己的平底锅?
这是我的scrollViewDidScroll函数:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
viewingBounds.origin.x = scrollView.contentOffset.x;
// Transform the y from UIKit coordinates into OpenGL coordinates
viewingBounds.origin.y = world.height - viewingBounds.size.height - scrollView.contentOffset.y;
[parentScene update]; // Render the image
}
我的手势识别器直接添加到init中的滚动视图:
[scrollView addGestureRecognizer:[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(didReceivePinch:)] autorelease]];
答案 0 :(得分:1)
您需要设置GestureRecognizer对象的委托,并在委托中实现此方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
让它返回YES。
答案 1 :(得分:0)
您是否尝试过Apple的ZoomingPDFViewer或PhotoScroller中的任何内容?在Photo Scroller中,图像是平铺的,并且您可以放大图片。希望您能从中获得一些东西。如果您在解压缩文件时遇到问题,请尝试从Xcode下载。
我想我也发现其他一些人正在做一些事情:
http://answers.unity3d.com/questions/22500/how-to-zoom-and-pan-when-you-pinchswipe-across-scr.html
http://technology.blurst.com/iphone-multi-touch/
希望它有所帮助。
答案 2 :(得分:0)