У меня есть UIImageView, который я пытаюсь переместить, используя объект UIPanGestureRecognizer. UIImageView позиционируется поверх UITableView и служит в качестве полосы прокрутки. Я хочу, чтобы этот UIImageView перемещался пользователем вверх или вниз по UITableView, а не сбоку. Для достижения этой цели, я реализовал UIGestureRecognizerDelegate, и у меня есть следующие методы:Пытается правильно переместить UIImageView с помощью gestureRecognizer в iOS
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
- (void)panGestureDetected:(UIPanGestureRecognizer *)recognizer {
NSLog(@"Do I get called?");
//_startLocation is a property of type CGPoint that I declare in the .h file
_startLocation = [recognizer locationInView:_imageView];
NSLog(@"The point is: %d", _startLocation);
CGRect frame = [_imageView frame];
frame.origin.y += frame.origin.y - _startLocation.y;
[_imageView setFrame: frame];
_imageView.center = _startLocation;
}
Метод, panGestureDetected
вызывается из viewDidLoad
следующим образом:
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureDetected:)];
panGesture.maximumNumberOfTouches = 1;
panGesture.minimumNumberOfTouches = 1;
panGesture.delegate = self;
[_table addGestureRecognizer:panGesture];
К сожалению, моя UIImageView движется повсюду отчаянно на экране, когда я пытаюсь его переместить. Я хочу видеть гладкую прокрутку UIImageView вверх/вниз, пока пользователь тащит ее. Может ли кто-нибудь увидеть, что я делаю неправильно?
Большое спасибо за ваше решение, это сработало! – syedfa