Como faço para fazer um NSPOPUPBTON que tem um menu com imagens e texto?
-
22-09-2019 - |
Pergunta
Eu tenho uma lista de aplicativos e gostaria de fazer um NSPopupButton
Isso mostra um menu de nomes de aplicativos com seu ícone à esquerda de cada item.
Consegui ligar o NSPopupButton
Para minha variedade de itens, mas não há uma entrada vinculativa para uma imagem. Eu pensei que poderia colocar uma célula lá e ligar a célula como uma imagem e como texto, mas não consigo encontrar uma célula apropriada no IB.
Existe uma maneira limpa e simples de fazer isso usando ligações? Eu tenho que escrever uma célula personalizada?
Solução
Não há como vincular as imagens, bem como os títulos dos itens de menu usando um NSPOPUPBTON de ações. Você terá que subclasse e escrever uma ibplugin para expor a subclasse. E, é claro, você deve lidar com a célula também.
Eu achei que a mistura de ligações com o NSPOPUPBTON é um saco de mágoa por vários motivos, incluindo a impossibilidade de separadores e itens de menu fora de modelo, como "padrão" ou "All". Considere usar um controle diferente, como uma lista de origem, ou preencher e refazer o menu pop-up manualmente.
Outras dicas
O nsmenuitem possui ligação de imagem (na seção "parâmetros" waaaaaayyyyyy para baixo). Então, acho que você deve vincular esse valor a um caminho em sua matriz de aplicativos em execução. Você pode obter um ícone para o seu aplicativo usando compartilhado NSWorkspace
objeto.