突出显示 NSTextField 中的选择
Highlight a selection in NSTextField
我希望能够突出显示 NSTextField 中的一部分文本,但我无法Google实现此目的的方法。
我已经定义了一个 NSRange,但是我找不到使用这个范围来突出显示文本的方法。我唯一发现的是 textField.selectText 但这应该突出了整个领域。
我正在使用 Swift 2.
您可能已经注意到,NSTextField
只有在获得焦点时才会显示选择范围,即第一响应者。在这种情况下,编辑由称为字段编辑器的 NSTextView
处理。所以,确保该字段有焦点(例如,通过使用NSWindow
的makeFirstResponder:
方法),然后使用NSControl
方法currentEditor
获取字段编辑器,然后你可以使用 NSText
方法 setSelectedRange:
.
ObjC
NSText* fieldEditor = [myField currentEditor];
[fieldEditor setSelectedRange: mySelRange];
Swift
let fieldEditor = textfield.currentEditor()
fieldEditor?.selectedRange = range
我希望能够突出显示 NSTextField 中的一部分文本,但我无法Google实现此目的的方法。
我已经定义了一个 NSRange,但是我找不到使用这个范围来突出显示文本的方法。我唯一发现的是 textField.selectText 但这应该突出了整个领域。
我正在使用 Swift 2.
您可能已经注意到,NSTextField
只有在获得焦点时才会显示选择范围,即第一响应者。在这种情况下,编辑由称为字段编辑器的 NSTextView
处理。所以,确保该字段有焦点(例如,通过使用NSWindow
的makeFirstResponder:
方法),然后使用NSControl
方法currentEditor
获取字段编辑器,然后你可以使用 NSText
方法 setSelectedRange:
.
ObjC
NSText* fieldEditor = [myField currentEditor];
[fieldEditor setSelectedRange: mySelRange];
Swift
let fieldEditor = textfield.currentEditor()
fieldEditor?.selectedRange = range