0

我正在尝试在设备旋转后更改我的视图。我无法在正在绘制的视图中进行自动旋转支持,因为我有自定义图形出现,并且重新初始化视图要容易得多。

我遇到的问题是 using[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(),但我仍然想知道为什么这是一个问题。

4

0 回答 0