0

J'ai une application qui ont un code comme:application basée Autorotate UINavigationController dans iphoneos 3.0

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // UIWindow *window; 
viewController = [TopicsViewController new]; //TopicsViewController *viewController; //This is a UITableViewController 
navigationController = [UINavigationController new]; // UINavigationController *navigationController; 
UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.png"]]; 
[self.navigationController.view addSubview:background]; 
[self.navigationController.view sendSubviewToBack:background]; 
[navigationController pushViewController:viewController animated:YES]; 
[window addSubview:[navigationController view]]; 
[window makeKeyAndVisible]; 

Fondamentalement, je me sers UINavigationController puis pousser UITableViewController ou parfois un UIViewController. UIViewController contient des éléments tels que UITextView, UIImage, UIScrollView. Le problème est que j'ai essayé de faire cette application répondre à la rotation iphone par exemple. Lorsqu'elle est placée dans un paysage, l'application doit passer au paysage et vice versa, mais rien ne fonctionne jusqu'à présent.

Répondre

0

Vous devez implémenter shouldAutorotateToInterfaceOrientation dans vos sous-classes UIViewController. Cela fonctionnera (la plupart du temps).

+0

N'est-ce pas comme si beaucoup de duplication de code? Je devrai l'implémenter dans les sous-classes UITableViewController, puis dans les sous-classes UIViewController. Damn IPhone OS 2.x était facile, code rapide ... – Shoaibi

+0

C'est exactement la même chose que vous auriez dû faire dans 2.x. –

+1

dans 2.x j'ajouterais juste shouldAutorotatae ... au délégué d'application et renverrai OUI, cela ne fonctionne pas ici ... – Shoaibi

Questions connexes