由于在iOS 6ShouldAutorotateToInterfaceOrientation
中已弃用,我无法在我的应用程序中锁定方向。在我的应用程序中,我有多个视图,一些视图需要同时支持纵向和横向,而其他视图只需要支持纵向。我该如何解决这个问题,请给我一些想法。UINavigationControllers
谢谢
由于在iOS 6ShouldAutorotateToInterfaceOrientation
中已弃用,我无法在我的应用程序中锁定方向。在我的应用程序中,我有多个视图,一些视图需要同时支持纵向和横向,而其他视图只需要支持纵向。我该如何解决这个问题,请给我一些想法。UINavigationControllers
谢谢
使用此功能仅适用于iOS 6
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskPortrait;
}
您可以通过继承 UINavigationController 来锁定方向。
然后在子类 UIViewController 中重写以下方法以实现锁定(在本例中为纵向锁定)。
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
在 viewDidLoad 中添加以下代码
UIViewController *viewController = [[UIViewController alloc] init];
[self presentModalViewController:viewController animated:NO];
[self dismissModalViewControllerAnimated:NO];
用于锁定纵向
添加功能
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return ( UIInterfaceOrientationIsPortrait(interfaceOrientation));
}
用于锁定横向
添加功能
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return ( UIInterfaceOrientationIsLandscape(interfaceOrientation) );
}
我找到了 ShouldAutorotateToInterfaceOrientation 的替代品。我建议您浏览这些链接 -
http://www.roostersoftstudios.com/2012/09/21/ios6-autorotation-changes
谢谢