UIGestureRecognizer zum Ziehen von UIView
Ich versuche einen zu bauenGestureRecognizer
ziehen aUIView
von rechts nach links. Wenn der Benutzer die Ansicht in die Hälfte des Bildschirms zieht, wird sie automatisch in die linke Ecke gezogen, um sie zu verwerfen. Wenn der Benutzer jedoch nicht bis zur Hälfte des Bildschirms zieht, kehrt sie in die rechte Ecke des Bildschirms zurück. Etwas verloren hier, irgendwelche Tutorials oder so? Vielen Dank
EDIT: Hier ist ein Code, es ist einUIImageView
, in einemUIScrollView
Ich muss die gesamte Schriftrolle oder nur das Bild darin ziehen:
_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];
Und die Methode versuche ich, die zu ziehenUIImageView
- (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];
}