3

こんにちは、iOS6 の向きの変更を確認していましたが、1 つのことを除いてすべて正常に動作しました。横向きでアプリを起動する方法はありません。

横向きでアプリを起動するにはどうすればよいですか? このHow to force a UIViewController to Portrait orientation in iOS 6を見つけましたが、それは機能しません。アプリは常に縦向きで起動し、横向きで起動する必要がありました...

別のビューに移動してから「最初のビュー」に戻ると、横向きになっています! しかし、アプリを起動すると、縦向きになっています...

ありがとうございました!!

- - - - - - - - - - - - - - - アップデート - - - - - - - - - - -----------

これは、アプリデリゲートからメインビューをロードする方法です:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
myViewController = [[myViewController alloc] init];

self.navController = [[UINavigationController alloc] initWithRootViewController:myViewController] ;

[self.window setRootViewController:navController];
[self.window makeKeyAndVisible];

------------------------------ 更新 2 -------------------- ----------- 私はそれを機能させました。以前のコードを次のように変更しました:

self.navController = [[UINavigationController alloc] init] ;
[self.window setRootViewController:navController];
[self.window makeKeyAndVisible];
[navController presentViewController:myViewController animated:NO completion:NULL];

これが他の誰かに役立つことを願っています!

4

3 に答える 3

0

これを試しましたか?

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:YES];

また

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:YES];

これは、iOS6とiOS5の両方で機能しています

画面を回転させようとすると、新しい画面を読み込もうとして間違いを犯したことに気付くよりも、別の問題があります。

[self.navigationController presentModalViewController:controller animated:YES];

それ以外の:

[self.navigationController pushViewController:controller animated:YES];

2つ目は機能しますが、1つ目は期待どおりに機能しませんでした。

于 2012-09-27T17:57:19.357 に答える
0

これが私がそれを機能させた方法です:

self.navController = [[UINavigationController alloc] init] ;
[self.window setRootViewController:navController];
[self.window makeKeyAndVisible];
[navController presentViewController:myViewController animated:NO completion:NULL];

それが他の誰かに役立つことを願っています!

于 2012-11-19T13:13:10.423 に答える
-1

私もこれに取り組んできました-これが私がそれを修正した方法です:

ビューでDidLoad:

CGRect frame = self.view.bounds;

if (frame.size.height > frame.size.width) {
    //hack to force landscape
    CGFloat holdHeight = frame.size.height;
    frame.size.height = frame.size.width;
    frame.size.width = holdHeight;
    self.view.bounds = frame;
}

しかし、私はより良い方法を好むでしょう。

于 2012-11-14T23:00:32.173 に答える