单击此窗口上安装的“继续”按钮后,我找不到关闭主窗口的正确方法。我尝试将此按钮连接到检查器的“ proceedclose”选项。我也尝试在代码中插入以下行:
import Cocoa
class ViewController: NSViewController {
...
@IBAction func Envoi(sender: NSButton) {
self.view.window!.close()
}
}
Run Code Online (Sandbox Code Playgroud)
它们都不起作用,没有任何反应,也没有错误报告。有人可以帮我解决吗?
小智 6
我有同样的问题。你的代码对我很有帮助。
然后我在 NS Lib 中检查了“VC <- view <- window <- windowController”。层次结构有。
当您从 VC 关闭窗口时,避免故事板变得奇怪。你可以解决这个问题,通过
self.view.window?.windowController?.close()
Run Code Online (Sandbox Code Playgroud)
只是一个快速的笔记。
NSViewController实例NSButton。修复管理NSViewController和NSButton如果需要,class ViewController: NSViewController {\n @IBOutlet weak var envoiButton: NSButton!\n //\xe2\x80\xa6\n @IBAction func doEnvoiButtonPressed(_ sender: NSButton) { \n print(self.hash)\n print(self.envoiButton.hash)\n // \xe2\x80\xa6 other code\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n放isReleasedWhenClosed如果需要,可以在 Interface Builder 或代码中
通过关闭窗口NSButton @IBAction使用以下方法之一
self.view.window!.windowController!.close() NSWindowController close() 突然关闭,无法要求用户确认。self.view.window!.close() NSWindow close() \n发送willCloseNotification通知。self.view.window!.performClose(nil)或NSWindow PerformClose(_:)发送到所有窗口关闭信号。首先,窗口委托(如果存在)。如果不存在委托,则调用任何 NSWindow 对象实现。如果返回 true 或未实现,则调用 then。(是更全面、更灵活的选择)self.view.window!.performClose(self) windowShouldClose(_:)windowShouldClose(_:)windowShouldClose(_:)NSWindow close()performClose(_:)class ViewController: NSViewController {\n @IBAction func doEnvoiButtonPressed(_ sender: NSButton) { \n self.view.window!.performClose(nil) // or performClose(self)\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4974 次 |
| 最近记录: |