0

UITableViewホーム画面に があるアプリがあります。このビューは常に横向きになるようにしました。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
     return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

ユーザーが行を選択すると、UIPageViewControllerビューが表示されます。この 2 番目のビューは、横向きにも縦向きにも回転できます。問題は、ポートレート モードでUIPageViewController[戻る] ボタンを押すと、常にランドスケープ モードになっているはずの最初のビューがポートレートになっていることです。回転させた後、横向きになり、そこにとどまります。

ホーム画面に戻ったときに自動的に横向きにする方法があるかどうか疑問に思っていました。

4

6 に答える 6

2

以下を試してください

  1. ランドスケープ モードのインターフェイス ビルダーで、アプリのメイン画面のビューを作成します。
  2. インターフェイス クラスで uiview oultlet を作成し、上記のビューに接続します。
    IBOutlet UIVIew *myView;
  3. 次に、viewDidLoadメソッドでこれを設定します self.view = self.myView;
于 2012-05-15T10:46:17.610 に答える
1

特定の向きで画面を作成する場合は、CustomNavigation コントローラーを作成して、アプリに表示できます。これで supportedInterfaceOrientations のみを返す必要があります。詳細とサンプル コードが必要な場合は、ここをクリックしてください

于 2015-05-24T12:43:54.017 に答える
0

UINavigationViewControllerメソッド(pushViewController:animated:および)を使用するpopViewControllerAnimated:と、ビューは前のビューの方向を継承します。

一方、メソッドを使用するpresentModalViewController:animated:dismissModalViewControllerAnimated:、すべてが完全に機能します。これがお役に立てば幸いです。

于 2012-05-15T10:41:22.793 に答える
0

View Controller プログラミング ガイドで説明されているように、別のランドスケープ インターフェイスを使用できます。他のビューからホーム画面に移動する前に、向きを確認し、対応するインターフェイスを画面にプッシュできます。

このSOの質問と回答を読んで、ランドスケープでアプリを起動することをよりよく理解してください。また、私が指摘した上記のアップルプログラミングガイドにも目を通してください。

于 2012-05-15T10:13:02.237 に答える
0

これを使用して、UIInterfaceOrientationLandscapeLeft を、UIDeviceOrientationPortrait、UIDeviceOrientationLandscapeLeft などの必要な方向タイプに変更します。

NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
于 2016-12-29T08:59:37.620 に答える