【问题标题】:UISplitViewController: some delegate methods not firedUISplitViewController:一些委托方法没有被触发
【发布时间】:2014-02-08 00:21:44
【问题描述】:

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

非常感谢您的帮助。

【问题讨论】:

  • 第一个方法返回YES吗?
  • 没错,它返回YES

标签: ios objective-c uiviewcontroller uisplitviewcontroller uisplitviewdelegate


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2013-12-03
    • 2020-11-28
    • 2017-05-04
    相关资源
    最近更新 更多