0

iPad で自動回転サポートを追加するシンプルな UITabBarController ベースのユニバーサル アプリがあり、現時点で頭を悩ませているのは、PassCode ビュー コントローラー (XIB ベース) の自動回転をサポートすることだけです。

要件:
1- パスコード VC のビューは、アプリの起動時に自動回転をサポートして表示されます (完了)。
2- パスコード VC のビューは、アプリがバックグラウンド (didBecomeActive:) から戻ったときに自動回転をサポートして表示され、他のすべての上に表示されます。

要件#2で試したこと:
1-パスコードのビューをサブビューとしてアプリのウィンドウに追加します(addsubview :)。自動回転が機能しないことを除いて、うまく機能します(理由は理解しています)。
2- パスコードのビューをサブビューとしてタブバー コントローラーのビューに追加します (addsubview:)。自動回転はうまく機能しますが、別のView Controllerがモーダルに表示されている場合、パスコードのビューは確かにその下にあります(これも理解できます).

たとえば、DropBox や GoodReader など、私が望むものとまったく同じものを実装している他のアプリを見ることができます。

どんな入力でも大歓迎です!
前もって感謝します。

4

1 に答える 1

0

これが最善の方法だとは言えませんが、別のウィンドウを使用して同様の機能を得ることができました。このライブラリを使い始めました: Block Alertsは、非常に良い出発点でした。

これにより、すべての上に表示される新しいUIWindowものが得られましたが、自動回転はうまくいきませんでした。ただし、少し実験したところ、次のようにすると、希望する自動回転が得られることがわかりました。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (UIInterfaceOrientationIsPortrait(interfaceOrientation))
    {
        CGPoint newCenter = CGPointMake(kDefaultPortraitWidth / 2, (kDefaultPortraitHeight * 0.3f));
        containerView.center = newCenter;
    }
    else
    {
        CGPoint newCenter = CGPointMake(kDefaultPortraitHeight / 2, (kDefaultPortraitWidth * 0.2f));
        containerView.center = newCenter;
    }

    return YES;
}

コンテナー ビューには、このように簡単に移動できるように、すべての「もの」が含まれています。

注: 定数はそれほど重要ではありません。ビューを機能させるものを使用してください。

于 2012-08-19T02:50:20.790 に答える