Pergunta

Eu tenho um item de visualização de coleção e sua exibição de protótipo. Dentro dessa exibição de protótipo, tenho um pequeno botão X. Eu quero que esse botão remova o item de exibição exata da coleção que ele está no topo.

Posso remover um item selecionado se clicar no espaço em torno do botão X, mas se eu for direto para clicar no botão antes de clicar no item, ele apenas apagará o último item selecionado.

Ideias?

Foi útil?

Solução

Tudo bem, isso deve ser divertido!

Etapa um: Altere a assinatura do método de removeQuartzPlayer ser:

-(void)removeQuartzPlayer:(id)aPlayer;

Onde aPlayer será o jogador que você deseja remover. Mude a implementação para parecer algo assim:

[quartzPlayerArrayController removeObject:aPlayer];

Onde quartzPlayerArrayController seria substituído pelo nome da tomada ao NSARRAYController ao qual sua visualização de coleção está conectada. Vou confiar que você pode descobrir como criar um iboutlet para ele, se ainda não possui um.

Etapa Um Ponto Five: Remova a conexão entre o botão e o removeQuartzPlayer Método em Ib.

Etapa dois: mude para o painel Bindings do inspetor IB. Selecione a ligação "Target" e faça com que pareça assim:

IB Bindings pane 1

Onde o pop -up "controlador" seria definido para qualquer objeto apontar para o seu controlador.

Etapa três: selecione a ligação "argumento" e faça com que pareça assim:

IB Bindings pane 2

Onde o pop -up "Visualização da coleção", você entendeu.

Etapa quatro: Aproveite o seu novo botão, trazido a você pela magia (escura) das ligações de cacau!

Isenção de responsabilidade: na verdade não testei isso, mas como tenho um botão que faz algo semelhante, ele deve funcionar. Comente se eu estraguei algo.
Billy

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