2008-12-03 6 views
2

Je suis à la recherche d'un moyen de faire glisser un UIPickerView (et UIDatePickerView) sur une vue (UITableView en particulier) quand une pression sur un bouton particulier a lieu.Comment puis-je faire glisser l'UIPickerView sur une autre vue?

Je comprends comment obtenir les événements pour les clics dans le UITableView, mais il ne semble pas être une bonne façon d'avoir le UIPickerView glisser vers le haut sur le dessus de celui-ci ...

Tous les exemples que je vu jusqu'à présent juste l'avoir cassé au fond d'une autre vue et je suis capable de le faire sans problème.

pensées?

Merci d'avance.

Répondre

1

Avez-vous essayé d'utiliser les blocs d'animation de UIView? Voir le Apple docs sur + [UIView beginAnimations: context:] et + [UIView commitAnimations]. Fondamentalement, enveloppez vos appels pour afficher le UIPickerView dans ces appels, et vous pouvez le ralentir un peu.

6

Les contrôleurs de vue modélisés se déplacent vers le haut pour couvrir la vue actuelle.

Voir la documentation de -presentModalViewController: animé: dans la Référence de classe UIViewController. Vous appelez cette méthode sur votre UITableViewController et transmettez le UIPickerViewController en tant que premier paramètre et YES en second.

2

Un exemple de ce que Ben mentionne ci-dessus (Animation Blocks) est le suivant, qui sera animé par une sous-vue.

UIWindow *window = [[Director sharedDirector] window]; 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.75]; 
[UIView setAnimationTransition:(UIViewAnimationTransitionCurlDown) 
         forView:window 
         cache:YES]; 
[window addSubview:aView]; 
[UIView commitAnimations]; 
Questions connexes