1

Swift プロジェクト (ストーリーボードなし) のメイン ウィンドウに NSBorderlessWindowMask を使用しています。サブビューをロードすると、NSTextfield アウトレットはキーボードで編集できません。私はすでにこのコードを初期化に入れています:

self.window?.makeKeyWindow()
self.window?.becomeKeyWindow()

これにより、コンセントをフォーカスのように「青」にすることができますが、キーボード編集は無効になっています。テキストフィールドにコピー/貼り付けできます

4

2 に答える 2

0

この問題の素晴らしい回避策を見つけました。基本的には、NSWindow マスクを NSTitledWindowMask として開始するときにセットアップし、アプリケーションがロードされたら、新しいマスク NSBorderlessWindowMask のセットアップを削除します。

   func applicationWillFinishLaunching(notification: NSNotification) {
        self.window?.titleVisibility = NSWindowTitleVisibility.Hidden
        self.window?.styleMask = NSTitledWindowMask // adds title bar
    }

    func applicationDidFinishLaunching(aNotification: NSNotification) {

        self.window?.makeKeyWindow()
        self.window?.becomeKeyWindow()
        self.window.setIsVisible(true)
        self.window?.styleMask = NSBorderlessWindowMask // removes title bar
    }
于 2015-03-10T11:14:21.663 に答える