0

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

非常感谢你的帮助。

4

1 回答 1

0

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

于 2014-02-21T20:03:05.357 回答