Pergunta

Estou tentando fazer um botão pop -up que sempre exibe A + como sua imagem e, quando você clica nela, um menu de contexto aparece que permitirá que você decida que tipo de objeto você deseja adicionar. Existe alguma maneira de fazer isso usando um NSPOPUPBTOTON? Vi nas especificações do NSpopupButotn que o Method SetImage não tem efeito, então parece que isso provavelmente não funcionará usando esta classe. Isso está correto?

Foi útil?

Solução

Sim, a aparência visível de NSPopUpButton está errado para o que você quer.

O que você quer é regular NSButton com um menu anexado. No construtor de interface, limpe o título, defina a moldura como quadrada, a posição para a versão central de Ícone e a imagem para NSAddTemplate.

Em seguida, crie um NSPopUpButton, defina -o para "puxar para baixo", esconder e alinhá -lo/defina seu tamanho na parte inferior do NSButton.

Finalmente, conecte performClick: no NSButton para performClick: no NSPopUpButton.

Isso não lidará com um clique no botão; Para isso, você terá que escrever algum código para usar um (não desenho) NSPopUpButtonCell.

Outras dicas

Por que não usar apenas um NSPOPUPBTON? O uso de 2 botões para executar uma tarefa não parece correto, como mencionado, não se comporta da maneira normal em relação a manter o botão.

Para fazer com que o botão pop-up funcione como você gosta ... Defina-o para ser um tipo de retirada. Não forneça o botão pop -up em si qualquer nome ou imagem. Se o botão pop -up não tiver um nome ou imagem, o primeiro item do menu se tornará o título do botão. Os itens do menu podem ter imagens, portanto, não forneça o primeiro item de menu, basta definir a imagem e essa é a imagem que você verá no botão pop -up. Para o restante dos itens do menu, basta adicioná -los normalmente após o primeiro item de menu. Observe que, se você alterar programaticamente os itens do menu no código, apenas deixe o primeiro item de menu com tato e tudo ficará bem. Faço isso em alguns dos meus aplicativos sem nenhum problema.

A chave é usar NSPopUpButtonCell's setUsesItemFromMenu:. Os documentos da Apple incluem um exemplo de como usar isso.

Um botão pop-up pega a imagem e o título do primeiro itens do menu no menu associado a ele. Portanto, é melhor incluir a imagem, que você deseja aparecer como o botão pop -up, como o primeiro item de menu e ocultar sua visibilidade.

Se você ainda não estiver claro, passe pelo vídeo a seguir uma vez, certamente fará você entender.

Este tutorial mostra como criar um item da barra de ferramentas (NSTOOLBARITEM) com menu suspenso para nstoolbar no interface Builder: Link

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