2017-11-17 293 views

回答

1

首先,您需要将视图控制器设置为文本字段的代表。然后,您可以覆盖NSControl实例方法controlTextDidEndEditing(_:),让你的文本框当前编辑器中选择范围 并从主线程设置回您的文本字段:

import Cocoa 

class ViewController: NSViewController, NSTextFieldDelegate { 
    @IBOutlet weak var textField: NSTextField! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     textField.delegate = self 
    } 
    override func controlTextDidEndEditing(_ obj: Notification) { 
     if let selectedRange = textField.currentEditor()?.selectedRange { 
      DispatchQueue.main.async { 
       self.textField.currentEditor()?.selectedRange = selectedRange 
      } 
     } 
    } 
} 
+0

它取消textfiled但什么即时寻找是,取消选择文本并保持文本选择无论是在 –

+0

bassicly即时寻找一种方式来阻止自动选择所有文字textfiled按下回车键时 –

+0

@jana_lemmings检查我的最后一次编辑 –