J'ai une application très simple créée avec le modèle de projet d'application utilitaire sur XCode. Mon MainView a deux composants UIPickerView et deux boutons. Le FlipSideView a un autre UIPickerView.Renversement La transition d'affichage devient maladroite lors de l'utilisation de UIPickerViews avec un grand nombre d'éléments
Les sélecteurs de la vue principale ont chacun 4 segments et chaque segment comporte 8 rangées. Le sélecteur sur le côté de la bascule a juste 1 segment avec 8 rangées. Toutes les lignes sur tous les sélecteurs sont juste du texte.
Avec cette configuration, appuyer sur le bouton pour retourner la vue avant et arrière affiche un délai notable avant que l'animation ne commence, et l'animation semble aller plus vite que ce qu'elle devrait, comme si elle essayait de compenser le temps perdu.
J'ai retiré les sélecteurs dans le constructeur de l'interface et chargé l'application sur le téléphone et l'animation semble maintenant naturelle. J'ai aussi essayé un seul sélecteur (le flipside) et les choses semblent toujours normales. Donc, ma théorie actuelle est que le nombre d'objets impliqués dans la vue principale est la cause. Le fait est que je ne pense pas que ce soit beaucoup (4 x 8 x 2 = 64), mais je pourrais me tromper complètement. C'est à peu près ma première application alors peut-être que je fais juste quelque chose de grossièrement faux, ou peut-être que le téléphone a un traitement beaucoup plus limité que je pensais.
Je pense à créer des vues de sélecteur avec pickerView: viewForRow: forComponent: réutilingView: pour voir si cela fonctionne mieux, mais je ne suis pas sûr que ce soit juste une perte de temps.
Des suggestions?
Merci Ruy
P.S .: Test sur un téléphone 3G 3.1.2
Il n'y a vraiment pas beaucoup de choses à faire pour mettre en place la vue flipside. Sur l'action du contrôleur de la vue principale lorsque le bouton est enfoncé, il y a: - (IBAction) showInfo { FlipsideViewController * controller = [[alloc FlipsideViewController] initWithNibName: @ faisceau "FlipsideView": nil]; \t controller.delegate = self; \t \t controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; \t [self presentModalViewController: contrôleur animé: OUI]; \t \t [version du contrôleur]; } Et puis il n'y a rien d'autre sur le Flipside viewDidLoad autre que de définir la couleur de fond. –