0

したがって、これはほぼ間違いなく簡単な答えになるでしょうが、私は一生それを解決することはできません!

基本的に、現在のアプリを縦向きでのみ (少なくとも今のところ)、正しい向きまたは上下逆向きに表示できるようにしたいと考えています。すべてが正常に機能し、ページ上で iPad を回転させると、すべて正常に機能し、ページは通常どおりにめくれます。しかし、iPad を上下逆さまにして (ホーム ボタンが上部にあるように)、ボタンをクリックして新しいページをロードすると、ページがロードされたときにツールバーが表示されません! 何らかの理由でツールバーが残りのコンテンツの背後にあるのか、それともそこにないのかはわかりません。その後、iPad を回転させて縦向きに戻すと、ツールバーが表示され、すべてが元の状態に戻ります。

さらに奇妙なのは、iPhone では、逆さまの iPhone でページをロードするとツールバーが表示されることです!!

shouldAutorotateToInterfaceOrientation() および didRotateFromInterfaceOrientation() メソッドを使用し、向きに応じて viewDidLoad のサイズ変更/配置を使用して、あらゆる種類の方法を試しました。しかし、何も機能していないようです!!

これは、viewDidLoad() メソッドにあるコードです。

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    NSLog(@"iPhone");
    if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortrait)
    {
        self.view.frame = CGRectMake(0, 0, 320, 460);
    }
    else if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortraitUpsideDown)
    {
        self.view.frame = CGRectMake(0, 20, 320, 460);
    }
}
else
{
    NSLog(@"iPad");
    if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortrait)
    {
        self.view.frame = CGRectMake(0, 0, 768, 1024);
        NSLog(@"iPad Portrait Up");
    }
    else if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortraitUpsideDown)
    {
        self.view.frame = CGRectMake(0, 20, 768, 1024);
        NSLog(@"iPad Portrait Upside Down");
    }
}

didRotateFromInterfaceOrientation() メソッドで同様のことを試しましたが、何も機能していません!

ご不明な点がございましたら、お気軽に質問/追加コードのリクエストをお寄せください。

マット

4

1 に答える 1

0

同様の問題に遭遇しましたが、これが私が発見したものです。iPad UIView xib ファイルの上部にツールバーを追加すると、その自動サイズ設定はデフォルトで下図のように設定されます。ツールバーは常に上部ではなく下部に固定されます。

ここに画像の説明を入力

私がしたことは、下の図に示すように上にくっつくように変更することで、問題が解決しました。

ここに画像の説明を入力

プログラムでツールバーをセットアップする場合は、autoresizingMask を更新する必要があります。

于 2011-12-06T18:35:55.673 に答える