我正在将一个应用程序移植到 iOS 6,我发现一个解决方案在 iOS 6 上不再适用于在拆分视图控制器中触发和关闭主视图控制器的显示。
这是我用来触发 iOS6 上的操作的一段代码,如果设备旋转则该操作才有效:
- (void)hideMaster:(BOOL)hide {
[self clearOverlay];
UISplitViewController* spv = appDelegate.splitViewController;
NSLog(@"hidemaster: I do %@show the master", (hide?@"not ":@""));
self.hiddenMaster= hide;
NSLog(@"delegate=%@", spv.delegate);
[spv.view setNeedsLayout];
spv.delegate=nil;
spv.delegate=self;
}
- (BOOL)splitViewController:(UISplitViewController*)svc shouldHideViewController: (UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {
NSLog(@"Spv: I do %@show the master", (self.hiddenMaster?@"not ":@""));
return self.hiddenMaster;
}
如何在用户不旋转设备的情况下强制触发 shouldHideViewController 回调?
谢谢,法布里齐奥·巴托洛穆奇