В основном я хотел бы просто коснуться изображения и заставить его двигаться пальцем по экрану без использования .Image.center = touchPosition Я не хочу, чтобы центр привязывался к моему Палец. Я хочу переместить изображение с любой точки, к которой я прикасаюсь.Перемещение UIImageView без использования свойства центра
ответ
Стандартный способ справиться с этим, что @ richard-j-ross-iii намекнул в комментарии, состоит в том, чтобы сохранить разницу между центром обзора и положением касания при начале перетаскивания, а затем сохранить эту разницу в качестве перетаскивание продолжается. В вашем методе touchesBegan:withEvent:
сохранить смещение, как:
_dragOffsetFromCenter = CGSizeMake(touchLocationInImageView.x - centerOfImageView.x, touchLocationInImageView.y - centerOfImageView.y);
затем в touchesMoved:withEvent:
вы можете сохранить тот же смещение, как:
myImageView.center = CGPointMake(touchLocation.x - _dragOffsetFromCenter.x, touchLocation.y - _dragOffsetFromCenter.y);
как я могу рассчитать touchLocationInImageView? – user2037857
Различные методы 'touchhes: *' получают 'NSSet' объектов UITouch, когда они вызывают UIKit. Возьмите одно из штрихов в этом наборе (если вы не поддерживаете multi-touch на этих представлениях, просто используйте '[касается anyObject]', чтобы получить одно касание), затем 'touchLocationInImageView = [theTouch locationInView: myImageView];' –
not работайте над этим вопросом – user2037857
Таким образом, сохранить первоначальную точку свойства «центра» в качестве переменной, и вычтите это из своего нового местоположения. –
не является опцией, потому что объект находится в центре движения – user2037857