0

view controller特定のコンポーネントがあるビューを追加しています。私のプロジェクトは、両方の向きをサポートする必要があります。

ランドスケープ モードでストーリー ボードを使用してビュー コントローラーを設計しました。ビュー コントローラでボタンが押されると、スケーリング アニメーションを使用してビューが表示されます。

ランドスケープモードの場合は完璧に機能します。ランドスケープモードでボタンを押すと、完璧に機能し、回転も完璧に機能します。しかし、横向きモードでボタンが押された場合、ビューは縦向きモードに従ってスケーリングされず、回転も大きな問題です。

自動レイアウトではなく自動サイズ調整を使用しています

誰でも私を助けてもらえますか?私の悪い英語でごめんなさい。

どんな助けでも大歓迎です。

4

1 に答える 1

0

自動サイズ変更は、向きモードでのフレーム変更の最適なソリューションであることが証明されたことはありません。代わりに、オリエンテーション デリゲート メソッドでフレームを手動で変更します。

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

次のように現在の向きを確認します。

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

     if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {

       // change frames here for portrait mode
    }
    else
    {
       // change frames here for landscape mode
    }

}

于 2012-10-29T05:44:31.543 に答える