macos - 如何检测弹出窗口是否已完成?

标签 macos cocoa swift

在我用 Swift 构建的 OS X 应用程序中,当用户未登录时,我会显示一个弹出窗口。用户通过弹出窗口登录。然后,我如何在启动弹出窗口的 View Controller 上检测到弹出窗口已被关闭?

最佳答案

正如 @Koen 提到的,如果弹出窗口确实关闭,您应该检查 NSPopoverDidCloseNotification 并调用一个方法:

NSNotificationCenter.defaultCenter().notificationCenter.addObserver(
    self,
    selector: "popOverClosed:",
    name:NSPopoverDidCloseNotification,
    object: nil
)

这样,每次弹出窗口关闭时都会调用 popOverClosed 方法。

func popOverClosed(sender : AnyObject) {
    //PopOver Dismissed
}

关于macos - 如何检测弹出窗口是否已完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28500944/

相关文章:

ruby-on-rails-3 - 任何人在 OSX lion 中安装 bson_ext gem 时遇到问题

cocoa - NSObject的retain方法是原子的吗?

cocoa - 使用 NSBezierPath 绘制不同的线宽?

swift - 其 View 不在窗口层次结构中的 UIAlertController

objective-c - 添加到登录项,Objective C

macos - 如何通过 Homebrew 软件安装 gpg2?

python - 如何命令自动化测试停留在监视器的一个地方

objective-c - CATextLayer 不绘制 NSAttributedString 背景色

ios - 如何通过快速点击 Collection View 的单元格来重新加载 TableView 中的数据

swift - 如何在flutter中访问Firebase实时数据库快照上的子属性?