2010-02-23 5 views
0

J'ai une classe qui hérite de UITableViewController, la seule orientation autorisée est UIInterfaceOreintationPortrait. Dans cette classe, j'utilise la méthode déléguée didSelectRowAtIndexPath: pour pousser une autre vue dans laquelle l'orientation paysage est autorisée. Le problème est que lorsque je suis revenu de cette vue en orientation paysage, le TableView est également orienté paysage. Je voudrais trop forcer TableView à être en mode portrait, comment puis-je faire cela?UITableView orientation

Merci pour votre aide.

Répondre

0

Tant que votre contrôleur de vue implémente shouldAutorotateToInterfaceOrientation: pour contraindre l'orientation à portrait, il devrait revenir en mode portrait lorsque vous revenez.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 
+0

Je l'ai déjà implémenté, mais ça n'a rien changé. – Nyx0uf

+0

Hmm ... Comment passez-vous d'une vue à l'autre? Par exemple, utilisez-vous un UINavigationController avec pushViewController: animé:/popViewControllerAnimated:? –

+0

J'utilise pushViewController: animé: – Nyx0uf

0

Si shouldAutorotateToInterfaceOrientation n'est pas appelé, vérifiez si vous avez remplacé - (id) initialisation.

Si vous avez remplacé - (id) init, vous avez peut-être oublié d'appeler super.

Profitez-en.