0

私は長い間、良い答えが見つからない質問をしてきました。

横向きと縦向き、または 3.5 インチまたは 4 インチのディスプレイを備えた iPhone など、さまざまなユーザー インターフェイスを構築することは可能ですか (そうしなければなりません! ;)。

コードで言うように、これは横向きのインターフェースで、これは縦向きのインターフェースです...

これには簡単な方法があることを願っています。:)

ドイツ、ミュンヘンからよろしくお願いします

ローレンツ

4

1 に答える 1

1

これが私のやり方です。configureViewForOrientation:インターフェイスを設定する方向をパラメータとして受け取るという関数を作成しました。

-(void)configureViewForOrientation:(UIInterfaceOrientation)orientation
{
    if (UIInterfaceOrientationIsPortrait(orientation))
    {
        //set up portrait interface
    }

    else
    { 
        //set up landscape interface
    }
}

このメソッドは、viewDidLoad(または最初にインターフェイスを設定した場所)から呼び出し、次を使用して現在の方向にフィードできます[UIApplication sharedApplication].statusBarOrientation

-(void)viewDidLoad
{
    [super viewDidLoad];
    [self configureViewForOrientation:[UIApplication sharedApplication].statusBarOrientation];
}

デバイスが回転しているときに呼び出すこともできます。

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
    [self configureViewForOrientation:toInterfaceOrientation];
}

いくつかの注意点があります(アプリの起動直後にデバイスの向きを確認しているかどうかなど)が、これはほとんどの場合機能するはずです。

于 2012-09-26T21:15:21.503 に答える