ランドスケープモードでアプリを起動できません。ビューは常にポートレートモードで表示されます。
私はplistで以下を設定しています:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
UIViewControllerはAppDelegate.mで作成されます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.myViewController = [MyViewController alloc];
UIView *myView = [[UIView alloc] init];
myView = [UIColor whiteColor];
self.myViewController.view = myView;
self.window.rootViewController = self.myViewController;
self.window makeKeyAndVisible];
return YES;
}
MyViewController.mにshouldAutorotateToInterfaceOrientationを追加しました
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
デバイスがポートレートモードでアプリが起動すると、ステータスバーはランドスケープモードになります。ただし、UIViewが表示されると、ポートレートモードになります。デバイスがランドスケープモードの場合も同じことが起こります。
ただし、Interface BuilderでUIViewControllerを作成すると、機能します。
これをAppDelegate.mに追加すると機能しなかったため、これは自動サイズ変更マスキングに関連していますか?
myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ;