Заставить UIImageView сразу следовать за положением пальца без каких-либо задержек? - PullRequest
1 голос
/ 02 августа 2011

В методах touchesBegin, touchesMoved и touchesEnded я устанавливаю центр изображения:

[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 голосов
/ 03 августа 2011

Вы хотите использовать UIPanGestureRecognizer.На WWDC 2010 была отличная сессия - вы можете посмотреть видео здесь .Панорамирование начинается через 45 минут, но если у вас есть запасной час, посмотрите все это.Это действительно интересный материал, который действительно поможет вам с распознаванием жестов.

...