NSPopover 解雇不会将其从 parent 的 presentedViewControllers (Xcode 11) 中删除
NSPopover dismissal does not remove it from parent's presentedViewControllers (Xcode 11)
使用 Xcode 11 和 macOS 10.15,我有一个 ParentViewController
在 .transient
模式下显示 PopoverViewController
(= 在弹出窗口外单击将其关闭)。
当用户在 Popover 外部单击时,它被正确地关闭并且 PopoverViewController
被正确地 从 ParentViewController.presentedViewControllers
中移除。 --> 确定
但是,我在弹出框内有一个调用 self.dismiss(self)
的按钮。弹出框已关闭,但 未从 ParentViewController.presentedViewControllers
中删除。 --> 问题
我想我以前没有遇到过这个问题。
我是不是遗漏了什么,或者这是 AppKit 中的错误?
非常感谢您的帮助!
没关系,我做错了。
如文档所述,您必须从呈现视图控制器中调用关闭。
因此在呈现的视图控制器中使用 self.presentingViewController?.dismiss(self)
解决了这个问题。
使用 Xcode 11 和 macOS 10.15,我有一个 ParentViewController
在 .transient
模式下显示 PopoverViewController
(= 在弹出窗口外单击将其关闭)。
当用户在 Popover 外部单击时,它被正确地关闭并且 PopoverViewController
被正确地 从 ParentViewController.presentedViewControllers
中移除。 --> 确定
但是,我在弹出框内有一个调用 self.dismiss(self)
的按钮。弹出框已关闭,但 未从 ParentViewController.presentedViewControllers
中删除。 --> 问题
我想我以前没有遇到过这个问题。
我是不是遗漏了什么,或者这是 AppKit 中的错误?
非常感谢您的帮助!
没关系,我做错了。
如文档所述,您必须从呈现视图控制器中调用关闭。
因此在呈现的视图控制器中使用 self.presentingViewController?.dismiss(self)
解决了这个问题。