使UIImageView立即跟随手指位置没有任何延迟?

时间:2011-08-02 19:34:46

标签: iphone ios cocoa-touch uiviewcontroller uiimageview

touchesBegintouchesMovedtouchesEnded方法中,我设置了图片视图的中心:

[myImageView setCenter:CGPointMake(location.x, location.y)];

问题在于快速手指手势和图像改变其位置之间存在滞后。我希望图像能够立即跟随手指的位置而不会有任何延迟。

我甚至试图跳过次要的位置更改,以保持图像的位置与手指的位置同时发生,但它没有多大帮助。

int diff1=(location.x-oldX);
int diff2=(location.y-oldY);

if (abs(diff1)>=5  || abs(diff2)>=5  || abs(diff1)%5==0  || abs(diff2)%5==0) 
{        
    [myImageView setCenter:CGPointMake(location.x, location.y)];
}

有没有办法在Cocoa Touch中改进它?如果没有,那么我应该切换到CoreGraphics或cocos2d等?

我们将非常感谢帮助您提供示例代码段。

1 个答案:

答案 0 :(得分:0)

您想使用UIPanGestureRecognizer。在WWDC 2010上有一个很棒的会议 - 你可以观看视频here。潘的东西开始于45分钟,但如果你有一个小时的闲暇时间,请观看整个事情。这真的很有趣,可以帮助你进行手势识别。