【问题标题】:NSPopover dismissal does not remove it from parent's presentedViewControllers (Xcode 11)NSPopover 解雇不会将其从父级的presentedViewControllers(Xcode 11)中删除
【发布时间】:2019-10-25 15:46:40
【问题描述】:

使用 Xcode 11 和 macOS 10.15,我有一个 ParentViewController,它在 .transient 模式下呈现一个 PopoverViewController(= 在弹出框外单击会关闭它)。

当用户在弹出框外点击时,它会被正确关闭,PopoverViewController 会从ParentViewController.presentedViewControllers 中正确删除。 --> 好的

但是,我在弹出框内有一个调用self.dismiss(self) 的按钮。 Popover 已解除但未从 ParentViewController.presentedViewControllers 中删除。 --> 问题

我认为我以前没有遇到过这个问题。

我在这里遗漏了什么,还是 AppKit 中的错误?

非常感谢您的帮助!

【问题讨论】:

    标签: swift macos cocoa nspopover


    【解决方案1】:

    没关系,我做错了。

    如文档所述,您必须从呈现视图控制器调用关闭。

    因此在呈现的视图控制器中使用self.presentingViewController?.dismiss(self) 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多