1

私のアプリでは、orientationPortrait を許可するためだけにいくつかのスライドが必要です。問題は、Xcode でランドスケープ モードをまったく無効にできないことです。以下を試し、スライドのストーリーボードにポートレートを設定しました。私が理解したことは、クラスがタブバーとナビゲーションコントローラーに接続されている場合、「標準コマンド」をリッスンしない可能性があるということです? この場合、縦向き以外のすべての向きを無効にするにはどうすればよいですか?

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
4

1 に答える 1

1

特定のビューコントローラーを回転する機能を制限したい場合は、shouldAutoroateToInterfaceOrientation で正しい軌道に乗っています。個人的には、直接比較するよりもクリーンな UIInterfaceOrientationIsPortrait() メソッドを好みますが、本質的にあなたが行ったことに問題はありません。

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

心に留めておくべきこと、そして私が問題だと思うのは、回転を制限したいすべてのビューコントローラーにこのメソッドが必要だということです。上記のコードを含むメインビューコントローラークラスを作成し、それを全体でサブクラス化しますそれを解決するプログラム。

ただし、これは、プログラムがランドスケープ モードで起動するのを止めるものではありません。これを行うには、Info.plist ファイルに移動し、「初期インターフェイスの向き」の値を縦に変更する必要があります。これで問題が解決するかどうか、または問題の原因が他にあると思われる場合はお知らせください。

于 2012-10-23T16:04:26.083 に答える