Pregunta

Tengo una vista nstable vinculada a un nsArrayController con dos columnas. Una columna está vinculada a los objetos dispuestos del controlador de matriz y muestra una cadena.

Me gustaría mostrar una imagen en la otra columna, pero no puedo hacer que funcione. He arrastrado un NSIMAGECELL a la columna y configuré la imagen a mano, pero no aparecerá en tiempo de ejecución. He revisado dos veces y la imagen está en mi directorio de recursos.

¿Me estoy perdiendo de algo? ¿Qué más debo hacer para que aparezca esa imagen?

¿Fue útil?

Solución

¿Entonces quieres que aparezca la misma imagen para cada fila? ¿Es por eso que lo estás configurando "a mano"? Para eso, puede mezclar los métodos nstableViewDataSource con enlaces. La idea es que su columna de cadena estará vinculada como de costumbre, pero su columna de imagen no está vinculada. Tiene su conjunto de identificadores (como "ImageColumn"). Luego usa NumberOfrowsIntableView: y TableView: ObjectValueFortableColumn: fila: para proporcionar el recuento de objetos del controlador de matriz (por lo que tiene el número correcto de filas) y simplemente devuelve su imagen estática cuando solicita el valor para la columna correcta (verificando la identificación para su "imageColumn"), regresando nulo de lo contrario.

Si la imagen no es estática (es decir, desea usarla como un indicador de algún tipo), puede usar el método anterior (devolver algún valor basado en la imagen) o enlaces. Para usar enlaces, puede agregar una propiedad a cualquier clase que mantenga su controlador de matriz, como "estado" (un número). Luego usará un NSValuetransformer personalizado que transforma el número de estado en una imagen correspondiente. Su columna estará vinculada al Controlador de matriz, AclayedObjects.status, utilizando el transformador de valor (consulte NSVALUETRANSFORMER para obtener instrucciones para su uso: debe registrarlo y luego usar su nombre). El resultado es una imagen en su columna que corresponde a un determinado estado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top