Pergunta

Eu tenho um NSBrowser ligado a um NSTreeController vinculado a um conjunto de NSTreeNode objetos. É fácil o suficiente para chegar a parte de texto de trabalho, definindo o conteúdo e valor do conteúdo ligações para referenciar corretamente o controlador de árvore, mas como faço para definir a imagem para cada célula usando ligações?

Foi útil?

Solução

Não há built-in mecanismo para exibir uma imagem em uma célula navegador usando apenas ligações. Você pode equipar esse sistema um se você realmente quer, mas na minha experiência, às vezes é mais problema do que vale a pena para saltar através de aros só assim você pode dizer todos os seus usos coisas ligações, e é apenas mais fácil de fazer as coisas à moda antiga.

O método "tradicional" para colocar uma imagem em uma célula navegador é implementar o método delegado navegador:

- (void)browser:(NSBrowser *)sender willDisplayCell:(id)cell atRow:(NSInteger)row column:(NSInteger)column

Isso permite personalizar o celular no entanto você gostaria antes que seja atraído pelo browser. Dê uma olhada no exemplo SimpleBrowser in / desenvolvedor / Exemplos / AppKit, e você encontrará um exemplo de como usar este método delegado lá. Você não deve precisar a célula personalizado que eles usam nesse projeto - embora. Os granizos projeto de volta a partir do pré 10,2 dias, antes NSBrowserCell fornecido o seu próprio mecanismo que desenha

Outras dicas

Infelizmente, você não pode fazer isso facilmente com um NSBrowserCell. Use outra célula para colunas do seu navegador, um que leva o valor do objeto passado para ele no -setObjectValue:. E preenche o seu próprio texto e imagem de forma adequada

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