UISplitViewControllerDelegate显示了一个非常奇怪的行为。一些委托方法没有被调用,但其他方法是。
调用以下方法,因此正确设置了委托。
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
不会调用以下方法。
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
非常感谢你的帮助。
答案 0 :(得分:0)
在完成几个不同的教程后,我遇到了同样的问题。最后我在一个地方适当地设置了splitViewController.delegate,但我不知何故忘记将其删除到其他地方。因此委托被设置足够长的时间来触发ShouldHideViewController方法,但在willHideViewController或willShowViewController方法被触发之前被设置为不同的(不正确的)委托。