アプリをiOS6に移植していますが、分割ビューコントローラーでのマスタービューコントローラーの表示のオンとオフをトリガーするためにデバイスを使用していたソリューションが、iOS6では機能しなくなったことがわかりました。
これは、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コールバックを強制的にトリガーするにはどうすればよいですか?
ありがとう、Fabrizio Bartolomucci