0

Tout d'abord, mon code n'est pas complexe - en fait, il est juste deux sample programs de "Développement iPhone début: Exploring the iPhone SDK", combinés en un seul programme. J'ai pris l'application ViewSwitcher, qui bascule entre une vue bleue et une vue jaune, et a remplacé le YellowViewController par CameraViewController de l'application caméra.presentModalViewController pour UIImagePicker échoue en mode paysage pour l'iPhone 3.0

J'ai trois ViewControllers au total. SwitchViewController bascule simplement entre BlueViewController et CameraViewController.

À l'intérieur de CameraViewController, j'essaie d'utiliser un UIImagePickerController pour choisir une image. Le sélecteur est présenté avec presentModalViewController. Le hic, c'est que je veux faire ça en orientation paysage.

Tout fonctionne correctement sous 2.2.1, et tout fonctionne bien en mode portrait 3.0.

Dans 3.0 sous l'orientation paysage, cependant, les choses se brisent. Si je règle SwitchViewController en orientation paysage, mon écran devient blanc lorsque j'essaie de présenter le sélecteur. Si je fais tourner l'iPhone plusieurs fois, je peux voir un coin du sélecteur, qui était apparemment affiché à l'écran.

Si je règle CameraViewController en orientation paysage, le sélecteur ne s'affiche pas du tout. Je pense que this page peut avoir un indice quand il dit "Le changement le plus important [dans 3.0] que je peux voir est que le contrôleur de vue modale utilisera toujours le cadre de l'application au lieu de la trame du contrôleur de vue parent." Je ne comprends pas exactement ce que cela signifie, cependant.

Toute aide est grandement appréciée. Merci!

+0

'iOS 3.x' n'est plus supporté, il se peut que cette question doive être fermée. – darvids0n

Répondre

0

Je crois que cela signifie que: Les vues modales utilisent toujours le plein écran, même si le contrôleur de vue parent qui les invoque contrôle une vue qui n'est qu'une partie de l'écran. Cela a du sens pour les vues modales standard comme le sélecteur de caméra, mais je peux comprendre pourquoi quelqu'un qui crée une vue modale personnalisée peut souhaiter que ce soit plus petit.

Vous ne savez pas si cela aide vraiment à résoudre votre problème. Question: que se passe-t-il si vous affichez la vue modale et ALORS tournez le téléphone?

+0

Bonne question. Si j'apporte la vue modale et ALORS tourner le téléphone, la vue modale bascule bien en mode paysage. – niels

0

Vous devez avoir utilisé addSubview dans votre contrôleur parent, essayez d'utiliser presentModalViewController:.

Questions connexes