2015-11-04 49 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