如何锁定目标c中的纵向旋转方向

时间:2016-10-24 05:47:19

标签: ios objective-c xcode uiinterfaceorientation

我是iOS的新手,我面临着关于轮换的问题。我只需要纵向锁定单视图控制器旋转。我正在使用像这样的代码

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:NO];
    [UIView setAnimationsEnabled:NO];
    NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
    [[UIDevice currentDevice] setValue:value forKey:@"orientation"];
} 

这在风景中工作得很好,但在肖像中没有。我怎么能用它来画像​​。我试过像这样的肖像方法。

  1. UIInterfaceOrientationMaskPortrait
  2. UIInterfaceOrientationPortrait
  3. UIInterfaceOrientationPortraitUpsideDown
  4. UIInterfaceOrientationMaskPortraitUpsideDown 但没有一个对我有用。在此先感谢!

1 个答案:

答案 0 :(得分:0)

仅使用此代码纵向视图控制器,在IOS 9或更高版本上测试。

//将方向锁定为纵向

-(UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

-(NSUInteger)navigationControllerSupportedInterfaceOrientations:(UINavigationController *)navigationController {
    return UIInterfaceOrientationMaskPortrait;
}

OR

-(NSUInteger)supportedInterfaceOrientations{
 return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate {
 return NO;
}

检查此(iOS 6 shouldAutorotate: is NOT being called)回答