Pregunta

Me puede preguntar pregunta muy simple, pero no soy capaz de conseguir la manera de deshacerse de este, El requisito es,

  1. Mesa debería mostrar una imagen y un texto junto a eso. Para hacer eso, he añadido dos columnas en la tabla
  2. NSTableView debe ser transparente. Para hacer eso, he hecho una clase CustomNSTableView, drawRect método de invalidación dentro de no sacar de fondo, y contar las células no drawBackground.
  3. Ahora el siguiente obstáculo es cómo mostrar una imagen, que tenía que anular manipulado / siguiente método

.

- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{

    NSImage *pCellImage = // Get a valid Image ;

    if(tableColumn == nil ) return nil;

    NSString *colName = [tableColumn identifier];
    if([colName isEqualToString:@"firstColumn"]){
        NSCell *pCell = [[NSCell alloc]initImageCell:pCellImage];
        return pCell;
    }else{
        NSCell *pCell = [[NSCell alloc]initTextCell:@"Some text"];
        return pCell;

    }
}

i añadido TableColumn == condición nil, como en la documentación de su dado, primera vez para cada fila, esto será llamada con TableColumn nil cuando i necesidad de fijar una sola columna para la fila entera, pero si vuelvo su estrellarse con el comentario BAD_ACCESS,

Ahora mi pregunta es cómo manejar la condición nula, También en esta función después de establecer NSCell tanto para la columna que va a otra función delegada

- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

Creo que, después de ajustar adecuadamente dataSet no necesito utilizar esta función,

Con la siguiente implementación de su estrellarse, pero no soy capaz de entenderlo, lo que está mal,

Estoy instalando dataSource y delegado adecuada,

¿Fue útil?

Solución

¿Usted ha intentado llamar setBackgroundColor y pasando el color claro?

[myTableView setBackgroundColor:[[NSColor clearColor]];

Si se utiliza este método, recuerde que debe contar la NSScrollView circundante no para sacarla del fondo.

Por otra parte, considerar la provisión de fondo de la tabla como un CALayer .

Respecto a la elaboración de la imagen y el texto en una sola columna, relaciones con los desarrolladores de Apple han publicado una costumbre NSCell, ImageAndTextCell . Se puede utilizar esta célula con casos NSTableView y NSOutlineView. ofertas de esta celda personalizado con el dibujo de una imagen y texto en una sola columna.

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