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];
}