【问题标题】:Making UIImageView immediately follow finger location without any lag?使 UIImageView 立即跟随手指位置而没有任何延迟?
【发布时间】:2011-10-18 13:19:54
【问题描述】:

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 等吗?

帮助示例代码 sn-ps 将不胜感激。

【问题讨论】:

    标签: iphone ios cocoa-touch uiviewcontroller uiimageview


    【解决方案1】:

    您想使用UIPanGestureRecognizer。在 WWDC 2010 上有一个很棒的会议 - 你可以观看视频 here。 Pan 的东西从 45 分钟开始,但如果你有一个小时的空闲时间,请观看整个过程。这是非常有趣的东西,可以真正帮助您进行手势识别。

    【讨论】:

    • 感谢您提供信息和链接,但我不想识别手势,而是让我的图像尽可能快速跟随手指位置。所以问题是图像的翻译速度很慢。
    • 如果您查看视频,图像跟踪良好。您是否在代码上运行了 Time Profiler 以查看延迟的来源?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多