2009-12-22 7 views
2

Alors, je mets des contrôles sur une MPMoviePlayerController et je l'intention que cela soit utilisé en mode portrait, simplement en utilisant la vidéo qui est tourné verticalement. Mon seul problème est que pour la saisie de texte, le clavier apparaît en mode paysage. MaintenantiPhone empêcher la rotation du clavier paysage

, je me rends compte qu'il ya un moyen sans papier pour définir l'orientation du joueur, mais je préfère ne pas essayer cela et rejeté à l'App Store. (Pour votre information, c'est-il):

[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO]; // not legal? 

J'ai essayé redéfinissant la méthode autorotation dans mon contrôleur de vue:

-(BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation { return NO; } 

mais une fois que le lecteur vidéo commence la lecture prend le dessus et ne respecte pas ce.

Je me demande si quelqu'un a d'autres idées sur un moyen légal de garder le clavier en mode portrait même pendant que le lecteur vidéo veut prendre le système au paysage.

grâce, Pat

Répondre

2

Lorsque l'iPhone est mis en rotation, la vue « niveau » est envoyé la notification, et ce point de vue est responsable de la définition de ses sous-vues.

Si votre UIWebView est la vue de niveau supérieur, il s'autoréterminera automatiquement. Cependant, si vous mettez l'UIWebView l'intérieur d'un autre point de vue, et que le contrôleur de vue de ce point de vue « conteneur » mettre en œuvre la méthode shouldAutorateToInterfaceOrientation comme ceci:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
     return NO; 
} 

qui empêcherait probablement le UIWebView de connaître l'interface a été mis en rotation. Notez que je n'ai pas réellement essayé ceci, mais cela devrait fonctionner.


De cette SO article

+0

Je suis sûr que ce soit la bonne information en général, mais pour ce problème, la vue MPMoviePlayerController est hors de nos mains et il est poussé sur la fenêtre par le système d'exploitation lorsque vous sélectionnez [lecture de moviePlayer]. La seule solution juridique apparemment que j'ai trouvé, immédiatement après le jeu de départ, pour définir l'orientation de la barre d'état: \t \t [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationPortrait animé: NO]; \t \t et que rapidement il revient à portrait. Je vais devoir aller plus loin pour voir si cela va bien. –

Questions connexes