В общем, этот код в данный момент выполняется, перетаскивая изображение вверх и вниз по оси Y в зависимости от того, где пользователь перетаскивает его, и он возвращается в исходное положение. Моя проблема заключается в том, что если кто-то не должен касаться непосредственно центра UIImageView и начать перетаскивание, он будет трясеть (очень негладкий). Везде, где кто-то прикасается к UIImageView и начинает перетаскивать толчки UIImageView немного, чтобы перейти непосредственно в центр сенсорного события.UIImageView перескакивает, когда происходит событие Touch Event
Я думал об использовании анимации, просто чтобы переместить ее туда, где должно быть изображение, или есть другой способ?
Прошу прощения, если это неэффективный способ сделать это. Я довольно новичок в мире IOS.
Вот что у меня есть:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
//Gets location of UIImageView.
self.originalFrame = self.foregroundImage.frame;
}
//This method is used for moving the UIImageView along the y axis depending on touch events.
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if([touch view]==self.foregroundImage) {
CGPoint location = [touch locationInView:self.view];
location.x=self.foregroundImage.center.x;
self.foregroundImage.center=location;
}
}
//This method sets the UIImageView back to its original position.
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
CGRect newFrame = self.foregroundImage.frame;
newFrame.origin.y = self.originalFrame.origin.y;
[UIView animateWithDuration:1.1 animations:^{
self.foregroundImage.frame = newFrame;
}];
}
спасибо! Я вижу это сейчас. Это именно то, чего я хотел. Еще раз спасибо! – user2873147