2009-12-30 14 views
5

Para empezar, hay un NSArrayController ("Servidores") cuyo contenido es una matriz de objetos "servidor".¿Por qué mis imágenes en mi NSTableView se desvanecen?

También tengo un NSTableView con una columna. La columna está vinculada a la propiedad "arrangedObjects.status" del Servidor.

Utilizo un NSValueConverter personalizado para convertir ese estado en una imagen para el dataCell de la columna que es un NSImageCell.

Lo que no entiendo es por qué las imágenes que aparecen en la columna son correctas, pero se desvanecen constantemente. Solo para probar, tengo la misma imagen fuera de la vista de tabla para comparar y dibuja bien. Los colores en las imágenes no son semitransparentes.

¿El NSImageCell dibuja las imágenes como descoloridas? ¿Hay algo que pueda configurar en IB que los dibuje completamente saturados?

Respuesta

11

De Jim Correia de Cacao-Dev:

"En 10.6, NSImageView dibujará su contenido como atenuado cuando el control está desactivado

Sus vinculante ha.‘Conjuntos condicionalmente activada’encendidos".

+0

Tuve el mismo problema, pero gracias a ti lo he resuelto. ¡Gracias! – Dev

1

Puede tener la propiedad "enabled" de la celda o columna de la vista de imagen establecida en NO (o desmarcada en IB). Creo que esto desvanece la imagen mostrada.

+0

Hmmm ... La propiedad "habilitada" para la celda de imagen está definitivamente marcada, al igual que la propiedad "habilitada" para la tabla misma. No hay propiedad habilitada para las columnas de la tabla. Las propiedades habilitadas no están ligadas a nada también. Pero al hacer una comparación de píxeles, las imágenes definitivamente se dibujan como si estuvieran deshabilitadas. –

+0

Conjetura pura: podría ser el uso del convertidor de valor (NSImageViewCell podría ser desactivado por la fuerza por el mecanismo de enlaces si no sabe cómo "establecer" una nueva imagen). Debería poder proporcionarle los datos brutos de la imagen sin ninguna conversión. –

+0

Lo descubrí. Esto me parece realmente extraño, pero establecer el atributo de borde NSImageCell en "Ninguno" significa que dibuja la imagen translúcidamente. Por qué hace esto, no tengo idea. –

Cuestiones relacionadas