gpt4 book ai didi

ios - 从右向左滑动时未调用 UISplitViewControllerDelegate/UIPopoverDelegate 方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:16 25 4
gpt4 key购买 nike

我有一个 UISplitViewController 子类,它实现了 UISplitViewControllerDelegateUIPopoverController 委托(delegate) Hook ,以便在显示或关闭主 Pane 弹出窗口时收到通知通过:

  1. splitViewController:popoverController:willPresentViewController:
  2. popoverControllerShouldDismissPopover:

此 Split View Controller 将 presentsWithGesture 设置为 YES

当调用 1. 时,我确保将弹出窗口的委托(delegate)(方法调用中的第二个参数)设置为 self

什么有效:

  • 在主 Pane 可见的情况下,当我在主 Pane 外部点击时,should dismiss Hook 被调用
  • 在主 Pane 隐藏的情况下,当我点击导航栏按钮以显示主 Pane 时,将显示 Hook 被调用
  • 在主 Pane 隐藏的情况下,当我从左向右滑动以显示主 Pane 时,将显示 Hook 被调用

什么不起作用:

  • 在主 Pane 可见的情况下,当我从右向左滑动以隐藏主 Pane 时,不会调用委托(delegate) Hook

我很确定所有委托(delegate)都已正确设置。

在调试器中,我获取了弹出框 Controller 的内存引用(它始终相同),在从右向左滑动后,我确认它的委托(delegate)仍然正确设置——方法只是没有被调用。

设置有什么问题还是这是 UIKit 错误/疏忽?

最佳答案

经过更多挖掘后,我发现在外部敲击(关闭)和滑动离开(隐藏)之间存在差异。这就是您所需要的,以及我现在用来检测“滑动离开”的方法:

UISplitViewControllerDelegate splitViewController:willHideViewController:withBarButtonItem:forPopoverController:

关于ios - 从右向左滑动时未调用 UISplitViewControllerDelegate/UIPopoverDelegate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com