application en orientation landscape

yodarkyodark Membre
22:35 modifié dans API UIKit #1
Bonjour à  tous,

Petite question ! Dans IB j'ai creer ma vue au format landscape. Quand je lance le view controler j'ai bricolé ce bout de code

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {<br />&nbsp; &nbsp; // Return YES for supported orientations<br />&nbsp; &nbsp; return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);<br />}


et ça marche ! Par contre dans le code j'aimerais charger une autre vue depuis un nib avec le MàŠME viewController

<br />GameViewController * rGameViewController =&nbsp; [[GameViewController alloc] initWithNibName:@&quot;ConfirmPlay&quot; bundle:nil];<br />	<br />	[self setView:rGameViewController.view ];<br /><br />


Par contre quand je fais ça mon simulateur revient à  la position verticale et rien n'est correctement placé. Comment cela se fait-il ?

Réponses

  • Philippe49Philippe49 Membre
    décembre 2008 modifié #2
    Tu as essayé de mettre le même code du shouldAutorotateToInterfaceOrientation: dans la classe GameViewController ?

    Autrement, je ne vois pas pourquoi tu vas chercher ton image via un view controller. Pourquoi ne pas la prendre dans les ressources avec imageNamed ? Les images du bundle sont gérés par des caches, il n'y a pas à  craindre une surcharge mémoire ici.
  • yodarkyodark Membre
    22:35 modifié #3
    Tout d'abord ce que je charge n'est pas une image mais une vue complète générée dans IB.

    Les deux vues ont le même contrôleur de vue. Donc dans les deux cas le même shouldAutorotateToInterfaceOrientation.

    Si j'ai chargé un nouveau contrôleur de vue c'est parce que j'ai pas trouvé comment directement charger une vue depuis un nib sans créer un nouveau contrôleur de vue.
  • Philippe49Philippe49 Membre
    décembre 2008 modifié #4
    Bon cela ça marche :
    [self.view addSubview: rGameViewController.view ];
    ainsi chacun conserve son view controller.
    Il serait sans doute plus correct d'utiliser un navigationController et pushViewController:animated:

    dans 1228465089:

    Si j'ai chargé un nouveau contrôleur de vue c'est parce que j'ai pas trouvé comment directement charger une vue depuis un nib sans créer un nouveau contrôleur de vue.

    on peut aussi importer une vue dans le nib de "self" et la configurer à  part
Connectez-vous ou Inscrivez-vous pour répondre.