如何锁定在UINavigationControllers方向(How to lock orienta

2019-09-23 01:34发布

由于ShouldAutorotateToInterfaceOrientationiOS 6中弃用我不能锁定的方位在我的应用程序。 在我的应用我有UINavigationControllers与多个视图,一些看法需要支持纵向和横向的,而其他的观点仅需要支持肖像。 我怎样才能在来到这个问题请建议我一些想法。

谢谢

Answer 1:

使用此功能只能在iOS 6中工作

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

{

    return UIInterfaceOrientationMaskPortrait;

}


Answer 2:

您可以通过继承UINavigationController的锁定方位。

这里是如何做到这一点的极好的链接。

然后,您可以覆盖在你的子类的UIViewController实现锁(在这种情况下,画像锁定)以下方法。

-(BOOL)shouldAutorotate
{
    return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}


Answer 3:

添加下面的代码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) ); 
}


Answer 4:

我已经找到了ShouldAutorotateToInterfaceOrientation.I备用会想建议你去通过这些链接 -

http://www.roostersoftstudios.com/2012/09/21/ios6-autorotation-changes

谢谢



文章来源: How to lock orientation in UINavigationControllers