我有一个 iPad 应用程序,它使用 MMDrawerController 和 UISplitViewController 作为它的中心视图控制器在左右横向运行。左视图控制器是一个带有 UITableView 的 UIViewController,用于在应用程序的不同部分之间导航。在不旋转设备的情况下,一切正常,没有问题,尽管当我旋转设备并尝试打开左侧抽屉并选择要推送的新视图时,我收到“开始/结束外观转换的不平衡调用..”错误. 因此,没有任何 viewWillAppear/viewDidAppear 方法运行会导致问题。
下面是我如何在左侧抽屉 UITableView 中更改拆分视图控制器的左侧窗格:
NewsLVC *newsLVC = [[NewsLVC alloc] init];
[[[AppController sharedAppController].splitController.viewControllers objectAtIndex:0] setViewControllers:@[newsLVC] animated:NO];
[self.mm_drawerController setCenterViewController:[AppController sharedAppController].splitController withCloseAnimation:YES completion:nil];
我对可能导致这种情况的原因感到茫然,旋转时发生的唯一操作是调用 layoutView 方法,但即使我注释掉调用它的行也会发生这种情况。