Pergunta

Eu tenho NSTableView em meu aplicativo. agora dizer é 8 colunas por 48 linhas.

Eu tenho uma função que executa um específico de uma coluna específica para ver wether ou não o valor em cada célula é maior do que um determinado valor. Se é que eu gostaria que o aplicativo para realçar a linha.

Eu fiz alguma leitura e eu ainda estou olhando para as funções de chamadas ou um processo que vai me deixar extrair o células / linhas / ou rect e deixe-me mudar a cor.

Quais são as funções e as etapas mudando a cor das células?

Foi útil?

Solução

- [NSTableView selectRowIndexes:byExendingSelection:]

Fonte

Outras dicas

Para alterar a cor da célula você pode tentar este método

-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
   [cell setDrawsBackground:YES];
  if(row==0)
       [cell setBackgroundColor:[NSColor color];
   else if(row==1||row==2)
        [cell setBackgroundColor:[NSColor color];
    else
        [cell setBackgroundColor:[NSColor color];
}

isso vai fazer a sua linha com cor diferente.

Defina um delegado tableView e implementar o

– tableView:dataCellForTableColumn:row:

método. Em seguida, escrever um personalizado classe DataCell para fazer o desenho personalizado.

Se você extrair os dados como cordas, você pode usar: -

NSAttributedString

para mudar a cor de texto e fundo.

-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row

... dá-lhe o celular pré-fabricados (geralmente um NSTextFieldCell), que você pode, então, cor. Não precisa devolvê-lo - a Apple já fez e está prestes a usá-lo, basta modificar o objeto como você vê o ajuste. Funciona muito bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top