11

私は持っている

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>

info.plist で、検索を行い、すべてのインスタンスshouldAutorotateToInterfaceOrientationを returnに設定しましたYES。しかし、iPhone では上下逆さまがサポートされていないかのように動作します。UpsideUp の縦向きの作品、Landscapes の作品、Updsidedown は横向きの作品です。なんで?

iPad はどの向きでも問題なく動作します。そして、彼らは.xibsを共有します


アップデート

私はそれ以来追加しました

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;    
}

既存のすべてのインスタンスの後shouldAutorotateToInterfaceOrientation、まだ愛がない.

iOS 4.3をターゲットにしていますが、シミュレータと物理デバイスは iOS 6を実行しています

4

2 に答える 2

6

すでに試したことに基づいて、さらにコンテキストが必要ですか? ナビゲーションコントローラー、タブバーコントローラーなどでNIBベースのセットアップを使用していますか? その場合、NIB でこれらのクラスの実装をオーバーライドできないため (または一般的に)、それをサポートするカテゴリを追加する必要があります。

https://stackoverflow.com/a/12758715/490180

iPhone 5 について話していますが、問題は実際には iOS6 に関連しています。

于 2012-10-18T19:52:00.603 に答える
-1

これは仕様によるものです。iPhoneは電話であり、UIを上下逆に回転させることができる場合、電話がかかってきたときにユーザーに問題が発生します。逆さまのUIを処理するための適切なシーケンスはありません。アプリを上下逆に回転させた場合、着信画面はアプリに対して上下逆にする必要がありますが、これは良い経験ではありません。そうでない場合、ユーザーはハードウェアを逆さまにして電話に応答することになります。これは非常に面白いことですが、良い方法ではありません。

于 2012-10-18T19:24:03.657 に答える