如何设置canBecomeKeyWindow?

Abh*_*hek 1 macos xcode cocoa swift

这可能是一个非常微不足道的问题,但我无法弄清楚.我删除了一个窗口的标题栏 -

self.window?.styleMask = NSBorderlessWindowMask
self.window?.movableByWindowBackground = true
Run Code Online (Sandbox Code Playgroud)

现在任何文本字段都不起作用并被禁用,因为没有标题栏canBecomeKeyWindow设置为false.请参考这个

我怎么能把它设置为真?

我试过了

self.window?.makeKeyWindow()
Run Code Online (Sandbox Code Playgroud)

但它没有用.谢谢你的帮助.

Pau*_*son 8

如果变量是只读的(即{ get },而不是{ get set }),则无法设置它(... = ...),您只能读取它.要确保在读取它时返回所需的值,您需要对有问题的类进行子类化,覆盖相关属性并返回该值:

class PPWindow: NSWindow {

    override var canBecomeKeyWindow: Bool {
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)