Как я могу программно выбрать весь текст в NSTextField с помощью Swift?Выделить весь текст в NSTextField с помощью Swift
Для UITextField Theres метод как
textField.selectedTextRange = textField.textRangeFromPosition(...)
Как я могу программно выбрать весь текст в NSTextField с помощью Swift?Выделить весь текст в NSTextField с помощью Swift
Для UITextField Theres метод как
textField.selectedTextRange = textField.textRangeFromPosition(...)
Попробуйте в игровой площадки:
import XCPlayground
import AppKit
let view = NSView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
XCPShowView("view", view)
let txtf = NSTextField(frame: CGRect(x: 50, y: 50, width: 200, height: 50))
view.addSubview(txtf)
txtf.stringValue = "falling asleep at the keyboard..."
txtf.selectText(nil) // Ends editing and selects the entire contents of the text field
var txt = txtf.currentEditor() // returns an NSText
txt.selectedRange // --> (0,33)
Command-клик на selectedRange
, затем на NSText
(тип его возврата), который будет прыгать вас его Swiftened header, где вы можете проверить его богатую функциональность ...
Лучшее решение:
import Cocoa
class TextFieldSubclass: NSTextField {
override func mouseDown(theEvent: NSEvent) {
super.mouseDown(theEvent)
if let textEditor = currentEditor() {
textEditor.selectAll(self)
}
}
}
Или для точного выбора:
import Cocoa
class TextFieldSubclass: NSTextField {
override func mouseDown(theEvent: NSEvent) {
super.mouseDown(theEvent)
if let textEditor = currentEditor() {
textEditor.selectedRange = NSMakeRange(location, length)
}
}
}
работает для меня:
import Cocoa
class TextFieldSubclass: NSTextField {
override func becomeFirstResponder() -> Bool {
let source = CGEventSourceCreate(CGEventSourceStateID.HIDSystemState)
let tapLocation = CGEventTapLocation.CGHIDEventTap
let cmdA = CGEventCreateKeyboardEvent(source, 0x00, true)
CGEventSetFlags(cmdA, CGEventFlags.MaskCommand)
CGEventPost(tapLocation, cmdA)
return true
}
}
Вы хотите получить весь текст из поля в коде, или обновить NSTextField так что кажется, что все это выбрано? – AlBlue