non funzionano quando un UIButton è impostato in modalità UIButtonTypeCustom ! Os estados UIControlStateSelected ou UIControlStateHighlighted não funcionam quando um UIButton modo é definido UIButtonTypeCustom ! Ou melhor, não funciona (porque reservado para outros tipos de botão), por exemplo, para criar um botão com dois estados: nota de alternância. Se nós criamos duas imagens (stato1.png e stato2.png) para o nosso botão, podemos proceder da seguinte forma:
1 2 3 | / / O arquivo de cabeçalho que nós criamos uma variável global para usaremo / / Mude o cheque foi ToggleFlag BOOL; |
Agora vamos criar o nosso botão:
1 2 3 4 5 6 7 8 9 | / / Criamos um botão e nós colocá-lo inicialmente no estado "stato1.png" / / Edit initWithFrame: (CGRect)} {100,100,50,50 com a posição e / / Tamanho da sua imagem tem ; toggleFlag = YES; [ [ UIButton buttonWithType : UIButtonTypeCustom ] initWithFrame : ( CGRect ) { 100 , 100 , 50 , 50 } ] ; UIButton ToggleButton * = [[UIButton buttonWithType: UIButtonTypeCustom] initWithFrame: (CGRect) {100, 100, 50, 50}]; @ "" forState : UIControlStateNormal ] ; [ToggleButton setTitle: @ "" forState: UIControlStateNormal]; [ UIImage imageNamed : @ "stato1.png" ] forState : UIControlStateNormal ] ; [ToggleButton setBackgroundImage: [UIImage imageNamed: @ "stato1.png"] forState: UIControlStateNormal]; self action : @selector ( onToggle : ) forControlEvents : UIControlEventTouchUpInside ] ; [AddTarget ToggleButton: acção de auto: @ selector (onToggle :) forControlEvents: UIControlEventTouchUpInside]; toggleButton ] ; [Self.view addSubview: ToggleButton]; |
Quando você clicar no botão irá enviar uma mensagem para ser gerido onToggle :
1 2 3 4 5 6 7 | void ) onToggle : ( id ) sender { - (Void) onToggle: (id) sender { / / Recuperar ponteiro para UIButton ( UIButton * ) sender; UIButton buttonClicked * = (UIButton *) remetente; / / Executar o Toogle toggleFlag = toggleFlag!; [ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked setBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] forState: UIControlStateNormal]; } |






Últimos Comentários
Assunto : muito útil mesmo! Eu tentei isso e é exatamente o que eu precisava. Agora eu quero saber como faço para obter ...
vik : Com a ajuda estratégica!
Pimenta : Olá, eu não sei se você é um dos criadores do plugin WP Bannerize. Tenho visto um ...
Rosanna : Alguém pode me dizer como faço para excluir o Snap Shots janela que se abre automaticamente quando eu ...
bendito Maresca : Eu não posso fazer download de qualquer skypemote me spiegaaa