Zakładając, że chcesz ustawić kolor kreski wstawiania, a nie kursora myszy, powinna zadziałać sugestia użycia setInsertionPointColor:
.
Jednak nie trzeba koniecznie zmienić korzystania z NSTextField
na NSTextView
. Edytor pól dla okna, w którym znajduje się NSTextField
, to NSTextView
. Więc kiedy twój NSTextField
stanie się kluczowym widokiem, możesz pobrać edytor pól i zadzwonić pod numer setInsertionPointColor:
. Konieczne może być zresetowanie koloru, gdy pole przestanie być widokiem kluczowym.
można uzyskać za pomocą edytora pola przez NSWindow
's fieldEditor:forObject:
lub NSCell
' s fieldEditorForView:
.
Jeśli masz podklasę NSTextField, możesz użyć niestandardowej podklasy NSTextFieldCell i przesłonić -(NSText*)setUpFieldEditorAttributes:(NSText*)textObj
. W tej metodzie można ustawić kolor punktu wstawiania jeden raz i pozostanie on, gdy edytor pól jest aktywny dla tego pola tekstowego. Chociaż kiedy edytor pól zostanie przeniesiony do innego pola edycyjnego, kolor punktu wstawienia pozostanie, chyba że go zresetujesz.
nr Najlepszym kandydatem jest do podklasy NSTextField, jak opisana przez uliwitness, poniżej. – Bryan