5

私のアプリは iOS 6 で正常に動作しますが、アプリを iOS 7 にアップグレードすると、View Controller が回転しません。rootviewcontroller を mainviewcontroller に設定しました。self.window.rootViewController=mainViewcontroller; iOS 7 のどのような変更により、アプリが回転しなくなりますか?

4

1 に答える 1

1

これは、xcode 4.6 および xcode5-DP6 でテストしたコードです。

- (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];
    }
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];

    self.window.rootViewController = navigationController;//self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

ViewController では、テスト用に以下のメソッドを挿入しました

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    NSLog(@"rotated");
}

上記のコードを使用すると、回転に問題はありません。全方向に完全に回転します。

この問題を解決するには、向きの方法を確認するか、コード スニペットを投稿してください。

注: Xcode4.6 でサンプル アプリケーションを作成しました。

于 2013-09-16T06:14:32.330 に答える