0

UIViewController に次のコードがあり、デバイスと両方のシミュレーターで iOS 5 をテストしています。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (IS_IPHONE){
        return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
    } else {
        return YES;
    }
}

ブレークポイントを設定すると、実際に呼び出されますが、それでもランドスケープに回転します。どうしてこれなの?

4

2 に答える 2

2

あなたがそうするように言ったからです。は、縦向きの上下を除くすべての方向return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;に自動回転することを意味し、これには横向きも含まれます。iPad の場合、この制約さえないため、任意の向きに自動回転します。

(ドキュメントの新鮮な息吹が必要です...)

于 2012-10-11T19:05:06.127 に答える
1

代わりにこれを使用してください

return (interfaceOrientation == UIInterfaceOrientationPortrait);

于 2012-10-11T19:04:54.337 に答える