1

やあみんな、私は私のタブバーアプリケーションを自動回転しようとしています。どうやら、ほとんどの人がこの問題はreturn YES;、自動回転するためにすべてのタブバーアイテムが同じクラスになければならないということだと言うことを私は知っています。いいえ、うまくいきませんでした。まず、4つのタブバーアイテムがあり、それぞれに独自のクラスがあります。私の最初の2つのタブバーアイテムにはUIWebViewがあり、2つ目はテーブルビューで、最後はボタン付きの画像ビューです。ここで、最初のタブバーアイテムに自動回転コードを実装する練習をしました。これは、return YES;私には機能しなかったため、このコードを使用したUIWebViewです。

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        // Return YES for supported orientations.
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
        if (interfaceOrientation == UIInterfaceOrientationPortrait ||
            interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            interfaceOrientation == UIInterfaceOrientationLandscapeRight)
            return YES;
        else
            return NO;
}

タブバーなしでこのコードを使用することは私にとってはうまくいきましたが、タブバーアプリケーションでこれを使用するとき、それは私にとってはうまくいきませんでした。また、プログラマーが他のすべてのタブバーアプリケーションに同じクラスファイルを持たせる必要があると言った場合、前に述べたように、各タブバーには独自のクラスファイルがあるため、それはできません。

うまくいけば、誰かがタブバー全体を自動回転させるためにこの状況で私を助けてくれるでしょう、ありがとう

4

2 に答える 2

3

YESタブバーのすべてのViewControllerに戻る必要があります。


また、コードを短くすることもできます。これだけです。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
于 2011-03-01T16:41:07.427 に答える
1

最初の行のこのメソッドからYES(縦向きの場合)またはNOを返すことに気づいていますか?

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        // Return YES for supported orientations.
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    // this never gets called:
    //    if (interfaceOrientation == UIInterfaceOrientationPortrait ||
    //        interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
    //        interfaceOrientation == UIInterfaceOrientationLandscapeRight)
    //        return YES;
    //    else
    //        return NO;
}
于 2011-03-01T17:12:20.390 に答える