Я создал очень простое приложение, которое содержит перетаскиваемый UIImageView, но у меня возникла проблема с тем, что изображение можно перетаскивать, не касаясь его. Я уверен, что проблема с дырой от anyObject
, но я понятия не имею, как ее заменить. Я пробовал self.view.image
, но это не удалось. Итак, вот мой кодПеретащите изображение при касании самого объекта
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
lineView.center = location;
}
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[self touchesBegan:touches withEvent:event];
}
любые идеи?
Чтобы сделать это проще, давайте предположим, что у вас всегда есть один '' UITouch * объект в 'touches' (несколько штрихов отключены по умолчанию для' UIView' в любом случае). Вы берете точку касания и перемещаете subview там, но вы не делаете никаких проверок, находится ли местоположение касания в кадре подсмотра. Если вы добавите такую проверку, вы разрешите только «перетаскивать» подвью. –