Я пытаюсь построить GestureRecognizer
, чтобы перетащить UIView
справа налево. Если пользователь перетащил View на половину экрана, View будет автоматически перетаскиваться в левый угол, чтобы отменить его, но если пользователь не перетащит до половины экрана, он вернется в угол справа от экрана.
Здесь немного утеряны, какие-то учебники или что-то еще?
Благодаря
РЕДАКТИРОВАТЬ: Вот какой код, его UIImageView
, внутри a UIScrollView
, мне нужно перетащить весь свиток или просто изображение внутри него:
_myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, self.window.bounds.size.height)]; [_myScroll setContentSize:CGSizeMake(self.window.bounds.size.width , 1300)];
_tutorial = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, 1300)]; [_tutorial setImage:[UIImage imageNamed:@"Default"]];
_tutorial.contentMode = UIViewContentModeScaleAspectFit; [_myScroll addSubview:_tutorial];
_tutorial.userInteractionEnabled = YES;
UIPanGestureRecognizer * recognizer = [[UIPanGestureRecognizer alloc]initWithTarget:_tutorial action:@selector(handlePan:)];
[_tutorial addGestureRecognizer:recognizer];
[self.window addSubview:_myScroll];
И метод, который я пытаюсь перетащить UIImageView
- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:_myScroll];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:_myScroll];
}