0

iPhone と iPad のユニバーサル アプリケーションを開発しました。ターゲット (Xcode プロジェクト内) の「サポートされているインターフェイスの向き」オプションを使用して、目的の構成を設定しました。1 つは iPhone 用、もう 1 つは iPad 用です。iPhone (5.1 および 6.1) では問題ありませんが、iPad では 5.1 ファームウェアの向きが正しくありません (以前に書かれたように設定されていません)。iOS 6.1 を搭載した iPad の場合、アプリは正しく動作します。

別のスタックオーバーフローの質問を解決策とともに読みました。問題は次のコードを導入することで正しくなります。

-(NSInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationLandscapeRight;
}
// pre-iOS 6 support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationLandscapeRight;
}

私の場合、問題はまだ存在しています。どのようにできるのか?

4

1 に答える 1

1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return toInterfaceOrientation == UIInterfaceOrientationLandscapeRight;
}

あなたの場合、上記のメソッドは常に YES (0 より大きい int) を返しました。このようにして、他のすべてのインターフェイスの向きに対して no を返します。

両方の横向きをサポートするようにコードをリファクタリングすることもできますが、ビューを 1 つの横向きだけにロックすることはお勧めできません。

于 2013-04-11T17:48:40.123 に答える