【问题标题】:Auto close window using swift language osx使用swift语言osx自动关闭窗口
【发布时间】:2017-05-13 17:28:23
【问题描述】:

我知道这可能是一个非常愚蠢的问题,但我是 Swift 编程语言的新手。

我正在构建一个示例 mac 应用程序来处理用户身份验证。我的问题是如何使用 swift 自动关闭窗口。

我试过了

var window = NSWindow()
window.close()

但给出与线程相关的错误并打开调试器

请帮忙

【问题讨论】:

  • 使用临时弹出框。当然,还有很多其他方法可以实现这一目标。

标签: macos swift


【解决方案1】:

在 Swift 中,self.view.window?.close() 为我工作。

【讨论】:

    【解决方案2】:

    你是什么意思“自动关闭?,即当它变得可见时,它关闭了?看看““NSWindowController:windowWillLoad:”

    即:

    import Cocoa
    
    class window: NSWindowController {
      override func windowWillLoad()
      {
        self.callFunctionToUnloadWindow();
      }
    }
    

    在窗口加载之前立即调用。

    除此之外,我不太确定您要达到的目标。

    【讨论】:

    • 一旦窗口出现就关闭它可能没有多大意义。 OP想要输入密码。他可能没有考虑用例,因为输入 pw 的意思是:enter/ok 这将调用 `performClose"
    • @Adrian Nope.. 我想问的是在我的身份验证之后,我打开的应用程序应该自动关闭.. 就像 NSWindow().close().. 我也在下面写ViewController 但不在 NSWindowController 中
    • 在那张纸条上,我要做的是在后台线程上使用计时器(计时器:developer.apple.com/library/ios/documentation/Cocoa/Conceptual/…).. GitHub 上有很多不错的 GCD 友好计时器...活动,即击键或mouseDowns,重置计时器。如果没有,则让它滴答作响,当它达到x秒/分钟时,触发“[window orderOut:nil];”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多