Defino uma imagem para os estados do botão Normal, Realçado e Selecionado, mas quando o botão no estado selecionado e pressiono / realce não vi minha imagem destacada, mas apenas a imagem em cinza. É possível definir uma imagem para o estado destacado quando o botão é selecionado?
meu código:
[button setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
quando eu faço:
[button setSelected:YES];
e pressione o botão, a imagem "selected.png" não seleciona.
button.adjustsImageWhenHighlighted = NO;
primeiro.Respostas:
Encontrei a solução: precisa adicionar linha de adição
fonte
Você pode fazer isso no Interface Builder.
Selecione o que
UIButton
você deseja definirIB
e vá paraattributes inspector
.Nas capturas de tela, estou usando um tipo de botão personalizado, mas isso não importa.
fonte
Swift 3
Para definir a imagem de fundo, podemos usar
setBackgroundImage(_:for:)
Swift 2.x
fonte
setImage
)Eu acho que a maioria dos pôsteres aqui não entendem completamente. Eu tive o mesmo problema. A pergunta original era sobre o estado Destacado de um botão Selecionado (COMBINANDO AMBOS ESTADOS) que não pode ser definido no IB e volta ao estado Padrão com algum escurecimento acontecendo. Solução de trabalho apenas como um post mencionado:
fonte
Se você tiver um bom motivo para fazer isso, isso fará o truque
adicione estes destinos:
fonte
No Swift 3.x, você pode definir a imagem destacada quando o botão é selecionado da seguinte maneira:
fonte
No Swift você pode fazer:
fonte
Corrija-me se eu estiver errada. Fazendo
você está claramente mudando o estado dos botões conforme selecionado. Então, naturalmente, pelo código que você forneceu a imagem, será verificado o estado selecionado no seu caso.
fonte
Se alguém está se perguntando como isso funciona no Swift, aqui está minha solução:
fonte
Swift 3+
OU
Isso significa que o botão atual no
selected
estado, então você o toca, mostra ohighlight
estado.fonte
Problema ao definir
imageView.highlighted = NO;
(a configuração SIM funcionou corretamente e a imagem foi alterada para a realçada).A solução estava chamando
[imageView setHighlighted:NO];
Tudo funcionou corretamente.
fonte
De onde você deseja ligar
O método:
Crédito acima para Jorge, mas eu melhorei um pouco, fornecendo a solução de trabalho completa
fonte
Xamarin C #
Fazer OR bit a bit não funciona por algum motivo
Os seguintes trabalhos
fonte
Se você precisar da tonalidade destacada que o sistema operacional fornece por padrão ao tocar e segurar um botão personalizado também para o estado selecionado, use esta subclasse UIButton. Escrito em Swift 5:
fonte