NSTextField颜色光标

时间:2015-11-04 10:00:46

标签: macos cursor nstextfield nscolor

有关如何在NSTextField中更改颜色光标的任何想法,例如

使用UITextField,以下代码可以正常工作

UITextField.appearance().tintColor = UIColor.redColor()

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题。

1)

我刚刚花了一些时间编写一个自定义光标的小样本项目(恰好是一个彩色心脏图标:-)和you can find it here

它基于找到的解决方案in this very related question

2)

然后在完成这项工作之后,我意识到你可能只想要的只是 color 一个现有的光标。您可以通过在包含要着色的光标的NSCursor子类上实现此博客文章中的setPointerColor:(NSColor *)newColor函数来实现。

要记住的重要一点是,您应该使用子类NSTextField来跟踪光标的位置,这样当鼠标进入并在文本字段中移动时,它可以设置自定义光标或光标颜色。

也就是说,您还需要覆盖mouseEnteredbecomeFirstResponder,并且包含跟踪区域,以便在光标穿过文本字段时跟踪光标。

已添加

原来你的问题是讨论文本字段的 CARET ,它是文本的插入点,与鼠标光标不同。

以下是更改颜色的方法:

// change the insertion caret to another color
let fieldEditor = self.window?.fieldEditor(true, forObject: self) as! NSTextView

fieldEditor.insertionPointColor = NSColor.redColor()

我在here找到了答案。