UISplitViewController:一些没有触发的委托方法

时间:2014-02-08 00:21:45

标签: ios objective-c uiviewcontroller uisplitviewcontroller uisplitviewdelegate

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

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

在完成几个不同的教程后,我遇到了同样的问题。最后我在一个地方适当地设置了splitViewController.delegate,但我不知何故忘记将其删除到其他地方。因此委托被设置足够长的时间来触发ShouldHideViewController方法,但在willHideViewController或willShowViewController方法被触发之前被设置为不同的(不正确的)委托。