首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >macOS塞拉上未显示Cocoa窗口

macOS塞拉上未显示Cocoa窗口
EN

Stack Overflow用户
提问于 2018-01-04 03:40:11
回答 2查看 659关注 0票数 1

我有以下代码来在我的macOS应用程序中显示一个新窗口。这是在NSOpenPanelcompletionHandler中。

代码语言:javascript
复制
let mainStoryBoard = NSStoryboard(name: NSStoryboard.Name(rawValue: "Main"), bundle: nil)
let windowController = mainStoryBoard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier(rawValue: "WindowController")) as! NSWindowController
let myController = windowController.window!.contentViewController as! ViewController
myController.imageView.image = mainImage
windowController.showWindow(self)

在上面定义了mainImage

问题是这个代码在macOS高塞拉上运行得很好,但在macOS塞拉上,窗口有时会显示一瞬间,然后消失。

为什么这对macOS高塞拉有效,而对macOS塞拉无效?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 08:40:24

我能够通过固定windowController的作用域来解决这个问题。将变量的声明移到完成处理程序的上方,并将其设置为nil以启动,修复了该问题。

我还添加了NSWindowDelegate,并使用函数windowWillClosewindowController设置回nil,以确保它被正确发布。

票数 3
EN

Stack Overflow用户

发布于 2019-04-05 15:28:36

取消选中NSWindow的延迟选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48084075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档