UIGestureRecognizer pour faire glisser UIView
Je suis en train de construire un GestureRecognizer
pour faire glisser un UIView
de droite à gauche. Si l'utilisateur de faire glisser la Vue à la moitié de l'écran, l'Affichage sera automatiquement déposé dans le coin gauche de la jeter, mais si l'utilisateur n'a pas le glisser jusqu'à la moitié de l'écran, il sera de retour dans le coin droit de l'écran.
Peu perdu ici, tous les tutoriels ou quelque chose?
Grâce
EDIT : Heres un peu de code, c'est un UIImageView
à l'intérieur d'un UIScrollView
j'ai besoin de faire glisser l'ensemble de défilement ou juste l'image à l'intérieur :
_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];
Et la méthode que j'ai essayer de faire glisser le 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];
}
source d'informationauteur darkman
Vous devez vous connecter pour publier un commentaire.
Avoir un regard sur ici. C'est un
UIGestureRecognizer
tutoriel qui va vous donner les bases pour gérer pincée de balance et de gestes. Une fois que vous avez appris les principes de base, il est vraiment facile à accomplir ce que vous voulez. Tous vous avez besoin est de vérifier la position de la vue une fois que la poêle est terminé pour l'envoyer à la bonne position. Jetez un oeil à cet autre tutoriel surUIScrollViews
il peut vous aider à trouver votre chemin à travers la deuxième partie.Les deux tutoriels viennent de raywenderlich.comprobablement la plus utile iOS tutoriels site que je connais.
Voici un code sur votre
handlePan:
méthode, vous pouvez travailler sur :Je ne vais pas vous donner la réponse parfaite ici, vous aurez à travailler sur le code à trouver un moyen de le faire fonctionner comme vous le souhaitez.
Voici un dernier conseil. Vous pouvez faire une sorte de "lisse" de l'animation à l'aide d'un slideFactor. Il aidera votre animation est plus "réaliste". Le travail sur ce code que vous ajoutez à droite au début de la "si":
Puis dans UIView
animateWithDuration:
utilisezslideFactor
que la durée.