失去焦点后,NSTextField无法获得焦点

时间:2016-05-24 23:13:12

标签: macos cocoa nstextfield nsmenuitem nsstatusitem

我已将NSMenuItem的视图设置为自定义视图,其中包含文本字段。当我运行程序时,一切都按预期工作。 NSTextField是NSStatusItem的一部分并接受焦点,我可以在其中键入内容。

关闭菜单并转到另一个窗口后,当我单击菜单并尝试将焦点恢复到NSTextField时,它将变为只读。

enter image description here

代码:

import Cocoa
import CoreLocation

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate, NSTextFieldDelegate {

    @IBOutlet weak var window: NSWindow!
    var statusItem: NSStatusItem
    @IBOutlet weak var statusMenu: NSMenu!
    @IBOutlet weak var firstMenuItem: NSMenuItem!
    @IBOutlet weak var textField: NSTextField!

    override func awakeFromNib() {
        statusItem.menu  = statusMenu
    }
    override init() {
        statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
        super.init()
    }

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        if let button = statusItem.button {
            button.image = NSImage(named:"StatusBarButtonImage")
        }
    }

    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }
 }

有没有办法将焦点带回NSTextField?

我尝试过firstFirstResponder,canBecomeKeyView但他们似乎并没有在这种情况下工作。

0 个答案:

没有答案