Estoy usando una vista de tabla basada en vista y no quiero que dibuje NSTextFields con color de texto blanco cuando se selecciona. No pude encontrar una solución funcional. Entonces cualquier ayuda es muy apreciada.Cómo deshabilitar el color de texto blanco en la selección en NSTableView basado en vista?
Aquí está mi problema:
Quiero que la "selección es blanco" texto también se dibuja en el color de texto predeterminado.
Hasta ahora he dado cuenta de que
- atributos de ajuste en
tableView:viewForTableColumn:item:
realmente no ayuda - Configuración
NSTextField
color a un color personalizado, que es algo diferente que el color predeterminado de control, impedirá que se retraiga blanco, pero aún pierde el estilo de fuente (negrita, cursiva, etc.). - Configuración
NSTableView
selectionHighlightStyle
Atributo aNSTableViewSelectionHighlightStyleNone
hace el truco pero no volverá a dibujarNSTableRowView
. Además, el estilo de selección no es lo que quiero. Quiero el primer clic para seleccionar la fila y el segundo clic para editar el campo de texto. Cuando usaNSTableViewSelectionHighlightStyleNone
su primer clic comienza a editar el campo de texto. - El color del texto no cambia si el borde NSTextField está delimitado. Pero no quiero campos de texto delimitados (como se muestra en la captura de pantalla. Los campos de texto son editables)
No pude averiguar "cómo" el campo de texto obtiene el color blanco. He reemplazado setTextColor:
y me di cuenta de que nunca se llama cuando se cambia la selección. Así que supongo que un NSAttributedString está construido en algún lugar dentro de la rutina de dibujo/selección de NSTable.
Cualquier ayuda es muy apreciada.
Oh. Gracias. Yo solo "desactivé" a setter. Para swift es: 'anular var backgroundStyle: NSBackgroundStyle {get {return .Dark} establecer {}}' – surfrider