NSTextField 光标位置

Posted

技术标签:

【中文标题】NSTextField 光标位置【英文标题】:NSTextField Cursor Position 【发布时间】:2018-12-17 04:50:51 【问题描述】:

有没有办法在NSTextField 中获取当前光标位置?我只找到对 osx 不起作用的UITextField 的答案:

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

非常感谢!

【问题讨论】:

设置选中范围的方法如下:Highlight a selection in NSTextField. @Willeke,谢谢!为什么你从不给出答案? 因为简短的答案被低估了,在这种情况下,答案的链接不是答案。 【参考方案1】:

我正在使用这个 sn-p 来查找 NSTextField 的光标位置:

let currentEditor = textField.currentEditor() as? NSTextView
let caretLocation = currentEditor?.selectedRanges.first?.rangeValue.location // Int

【讨论】:

【参考方案2】:

方案一(通过NSViewController获取):

let location = (viewController.view.window?.firstResponder as? NSText)?.selectedRange.location

方案二(通过NSTextField获得):

let location = textField.currentEditor()?.selectedRange.location

【讨论】:

以上是关于NSTextField 光标位置的主要内容,如果未能解决你的问题,请参考以下文章

达到字符数后,如何以编程方式将光标从一个 NSTextField 移动到另一个?

c# 动态获取当前屏幕中光标所在位置

如何获取光标在指定窗口内的具体位置

如何把光标设置在edit中的指定位置

Delphi中如何判断当前光标的位置

如果设置Div 编辑器的光标位置?