我正在尝试在旋转设备后更改我的视图。我无法在绘图视图中进行自动旋转支持,因为我发生了自定义图形,并且重新初始化视图要容易得多。
我遇到的问题是使用[pageViewController setViewControllers:]
似乎不想在didRotateToInterfaceOrientation
阻止内部工作。
以下是方法:
- (void) didRotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
if (UIInterfaceOrientationIsPortrait(orientation)) {
NSLog(@"%@", pageViewController.viewControllers);
isLandscape = YES;
ContentViewController *vc = [self viewControllerAtIndex:currentPage];
NSLog(@"%@", vc);
[pageViewController setViewControllers:[NSArray arrayWithObject:vc] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
NSLog(@"%@", pageViewController.viewControllers);
}
}
产生这个输出:
<ContentViewController: 0x74aa8f0>
<ContentViewController: 0xfc0cb00>
<ContentViewController: 0x74aa8f0>
有什么理由我无法更改此方法中的视图控制器?如果是这样,我应该在哪里做这个改变?
编辑:
我已经能够使用dispatch_async()
绕过这个问题,但我仍然想知道为什么这首先是一个问题。