【问题标题】:NSTextField GotFocus Event Cocoa SwiftNSTextField GotFocus 事件 Cocoa Swift
【发布时间】:2015-03-02 19:08:23
【问题描述】:

在 Swift Cocoa 中,当 NSTextField 获得编辑焦点时会触发一个事件。我来自具有 GotFocus() 和 LostFocus() 事件的 C#。

对于 NSTextfield,我只能找到在开始输入后触发的这些函数。一旦获得焦点就不会。

 override func controlTextDidBeginEditing(obj: NSNotification) {
 }

 func control(control: NSControl, textShouldBeginEditing fieldEditor: NSText) -> Bool {

 }

我需要这个,因为一旦有人开始编辑,我想显示更多细节。我有一个更简单的显示名称和用于编辑的全名。

谢谢,

【问题讨论】:

    标签: cocoa swift events focus nstextfield


    【解决方案1】:

    您可以继承 NSTextField 并覆盖 becomeFirstResponder 和 resignFirstResponder。请查看此链接How to detect when NSTextField has the focus or is it's content selected cocoa

    【讨论】:

    • 请检查你的拼写 NSTextfield "UITextfield"
    • @Abhay,NSTextField 在 Cocoa 中,UITextField 在 UIKit 中。这不是拼写错误
    • 如果你打算使用becomeFirstResponderresignFirstResponder,熟悉窗口fieldEditor的操作也是值得的。这个对象(NSTextView 子类)是您正在编辑的地方实际上 发生并且值得了解,因为当您认为您的NSTextField 有焦点时,它没有 - 字段编辑器有。理解这一点可以帮助您理解为什么您NSTextField 不是第一响应者,即使您很乐意在其中输入文本。
    • 优秀!。我不得不从内部调用一个自定义委托,覆盖成为第一响应者,然后监听那个“事件”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    相关资源
    最近更新 更多