2010-11-26 3 views
0

J'ai créé une application ipad. J'ai commencé avec l'application basée sur la fenêtre et ajouté 2 contrôleurs de vue (loginviewcontroller, detailviewcontroler). les deux ont leurs propres XIB'S. l'objet loginviewcontroller ajouté dans la méthode appdelegate applicationdidfinishlaunch, j'ai écrit du code pour aller et venir entre 2 vues. Voici le code.Problème d'orientation

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Override point for customization after application launch. 
    Login *mylogin = [[Loginviewcontroller alloc] init]; 
    [window addSubview:mylogin.view]; 
    //detailview *tv=[[detailviewcontroller alloc] init]; 
    // [window addSubview:tv.view]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

Le problème est que la méthode ne fonctionne que willrotatetointerfaceorientation de la classe loginviewcontroller même si je suis dans le detailviewcontroller. Si j'ajoute l'affichage des tickets à l'appdelegate, alors il exécute la méthode willrotatetointerfaceorientation de detailviewcontroller, donc en résumé, il exécute la méthode willrotatetointerfaceorientation à partir de l'objet qui a été ajouté à appdelegate.

comment est-ce que je fais les 2 contrôleurs de vue courent leurs méthodes respectives d'orientation de willrotatetointerientation?

Répondre

0

UIViewController a la méthode

  • (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation

remplacer cette méthode dans vos deux classes de viewController (c.-à-(loginviewcontroller, detailviewcontroler)

écrire cette code

- (BOOL) shouldAutorotateToInterface Orientation: (UIInterfaceOrientation) interfaceOrientation { // écrire le code que vous voulez pendant la rotation

retourner Oui;

}

0

Les messages de rotation sont envoyés uniquement au contrôleur de la vue la plus haute. Vous devez les transférer manuellement dans les méthodes appropriées.