0

有什么方法可以在 a 中获取当前光标位置NSTextField?我只找到UITextField对 osx 不起作用的答案:

if let selectedRange = textField.selectedTextRange{
  let cursorPosition = textField.offset(from: textField.beginningOfDocument,to: selectedRange.start)
}

非常感谢!

4

2 回答 2

1
  • 方案一(通过NSViewController获取):

    let location = (viewController.view.window?.firstResponder as? NSText)?.selectedRange.location
    
  • 解决方案2(通过NSTextField获得):

    let location = textField.currentEditor()?.selectedRange.location
    
于 2021-02-06T01:32:55.443 回答
1

我正在使用此代码段来查找光标位置NSTextField

let currentEditor = textField.currentEditor() as? NSTextView
let caretLocation = currentEditor?.selectedRanges.first?.rangeValue.location // Int
于 2020-12-25T15:22:10.293 回答