iOS6用のアプリを作成する場合は、最初にUIViewController ドキュメントに示されている iOS6 用のメソッドを使用する必要があります。のような向きの方法shouldAutorotateToInterfaceOrientation
は iOS6 では廃止されました。iOS6 の代替方法は ですshouldAutoRotate
。アプリが iOS5 もサポートしている場合にのみ、古い方法を使用してください。
2番目UINavigationcontroller
に、アプリケーションで使用していて、異なるインターフェイスの向きが必要な場合、navigationController はアプリケーションのインターフェイスの向きを台無しにする可能性があります。可能な解決策(私にとってはうまくいきました)は、カスタムを実装し、UINavigationController
そのカスタムクラス内のインターフェイスの向きのメソッドをオーバーライドするUINavigationController
ことです.これにより、コントローラがUINavigationController
. 特定のviewControllerにもこれらのメソッドを追加することを忘れないでください。
CustomNavigationController.h
@interface CustomNavigationController : UINavigationController
@end
CustomNavigationController.m
@implementation CustomNavigationController
//overriding shouldRotate method for working in navController
-(BOOL)shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}