0

создать его с кодом:IOS: pageViewController ориентация интерфейса

self.pageViewController = [[PageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:@{ UIPageViewControllerOptionInterPageSpacingKey : @30 }]; 
self.pageViewController.delegate = self; 
self.pageViewController.dataSource = self; 
self.pageViewController.automaticallyAdjustsScrollViewInsets = NO; 
self.currentMediaPlayerViewController = [self createMediaPlayerViewControllerWithMediaItem:self.mediaItems[self.pageIndex]]; 
NSArray *pageViewControllers = @[self.currentMediaPlayerViewController]; 
[self.pageViewController setViewControllers:pageViewControllers 
            direction:UIPageViewControllerNavigationDirectionForward 
            animated:NO 
           completion:nil]; 
[self addChildViewController:self.pageViewController]; 
[self.pageViewController didMoveToParentViewController:self]; 
[self.view addSubview:self.pageViewController.view]; 

включить только в альбомной ориентации в parentVC к pageViewController. Но все равно можно поймать поворот.

- (void)viewDidLoad 
{ 

self.navigationController.delegate = self; 

NSNumber *value = @(UIInterfaceOrientationLandscapeLeft); 
NSString *keyOrientation = @"orientation"; 
if (![value isEqualToNumber:@((NSInteger)[[UIDevice currentDevice] valueForKey:keyOrientation])]) { 
    [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; 
} 


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

Как включить только горизонтальную ориентацию в pageViewController?

ответ

0

пытаются использовать этот код

- (BOOL)shouldAutorotate 
{ 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    if (self.isLandscapeOK) { 
     // for iPhone, you could also return UIInterfaceOrientationMaskAllButUpsideDown 
     return UIInterfaceOrientationMaskAll; 
    } 
    return UIInterfaceOrientationMaskPortrait; 
}