私はそれを知っています:デフォルトでは、アプリとView Controllerのサポートされているインターフェイスの向きは、iPadのイディオムではUIInterfaceOrientationMaskAllに設定され、iPhoneのイディオムではUIInterfaceOrientationMaskAllButUpsideDownに設定されています。そのため、Single View Application テンプレートを使用して新しいプロジェクトを作成したときに、iPhone ですべての向きを実行するために、以下の 2 つのメソッドを ViewController.m に追加します。そして、それはうまくいきます!
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotate
{
return YES;
}
次に、AppDelegate.m の以下のメソッドでいくつかのコードを変更して、アプリケーションのルート ビューを UIViewController から UINavigationController に変更しました。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
} else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
}
if(myNavigationController == nil)
myNavigationController = [[UINavigationController alloc]initWithRootViewController:self.viewController];
self.window.rootViewController = self.myNavigationController;
[self.window makeKeyAndVisible];
return YES;
}
その後、iPhone iOS6 シミュレーターで UIInterfaceOrientationPortraitUpsideDown を扱えなくなりました。どうすればそれを解決できますか? 古いトピックで少しコードを検索しようとしましたが、まだ機能しません。