2015-11-04 112 views
1

任何想法如何改变颜色光标的NSTextField例如的NSTextField彩色光标

用的UITextField下面的代码工作

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

任何想法?

+0

你可以发布你试图实现的截图或photoshopped图像吗?光标是黑色的,您可以在“系统偏好设置”中更改_highlighting_文本的颜色。 – Arc676

+0

我想改变光标颜色 – sger

回答

1

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

1)

我花了一些时间刚才编写定制光标(这恰好是一个彩色心脏图标:-),并you can find it here一个小样本项目。

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

2)

,然后做这项工作后,我意识到,你可能只是想什么是只是颜色现有的光标。您可以通过在包含要着色的游标的NSCursor子类上的此博客帖子中找到setPointerColor:(NSColor *)newColor函数来实现此目的。

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

也就是说,您需要重写mouseEntered以及可能的becomeFirstResponder,并且包含一个跟踪区域,用于在光标穿过文本字段时跟踪光标。

编辑补充

原来你的问题说的是文本字段的CARET,这是文本的插入点和不同的鼠标光标。

这里是你如何通过改变颜色:

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

fieldEditor.insertionPointColor = NSColor.redColor() 

为此,我找到了答案阐述here

+0

伟大的答案我会保留这个以备将来参考,但实际上我的意思是文本插入光标 – sger

+0

我刚编辑我的答案,告诉你如何改变这种颜色。我也更新了我的GitHub项目以显示它。 –

+0

酷感谢的人 – sger