多くのビューを備えたアプリを作成しましたが、そのうちのいくつかを縦向きのみにしたいです。私はこれを.mファイルにコーディングしました:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return NO;
}
他に何かする必要がありますか?.hファイルにある可能性がありますか?
多くのビューを備えたアプリを作成しましたが、そのうちのいくつかを縦向きのみにしたいです。私はこれを.mファイルにコーディングしました:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return NO;
}
他に何かする必要がありますか?.hファイルにある可能性がありますか?
私にとって最もクリーンなソリューション:
Info.plist ファイルに移動し、「サポートされているインターフェイスの向き」については、「ポートレート (下のホーム ボタン)」以外のすべての値を削除します。
そのメソッドで BOOL を返すだけです。ポートレートモードだけが必要な場合は、次のことを意味します。
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait) ;
}
縦向き逆さまでも問題ない場合 (縦向きの場合はデバイスを 180 度回転させます)、メソッドは次のようになります。
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
最後の条件は、同じ比較を行う への呼び出しに置き換えることができますUIDeviceOrientationIsPortrait(interfaceOrientation)
(参照: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html )
LE: これが機能しない場合は、次の「ハック」を使用して試すことができます: ビューをもう一度ポップしてプッシュしてみてください (NavigationController を使用している場合)。popViewControllerAnimated
メソッドとメソッドを使用してpushViewController:animated:
、コントローラーに必要な向きを強制的に再クエリさせることができます:) ソース: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html
YES
単にすべてではなく、サポートする方向 (ポートレート)に戻る必要がありNO
ます。また、プロジェクトのターゲットの設定で、ポートレート モードのみがサポートされていることを確認してください。
ビューコントローラに次のメソッドを追加します。これにより、たとえば、portaraitモードのみがサポートされるようになります。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
これを試して..
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}