didRotateToInterfaceOrientation中的setViewControllers不起作用

时间:2013-06-20 15:36:51

标签: ios uiinterfaceorientation uipageviewcontroller

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

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

0 个答案:

没有答案