Como você define a imagem para um UIButton no código?
Eu tenho isto:
UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnTwo.frame = CGRectMake(40, 140, 240, 30);
[btnTwo setTitle:@"vc2:v1" forState:UIControlStateNormal];
[btnTwo addTarget:self action:@selector(goToOne) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnTwo];
mas não veja o que definirá a imagem para ele.
setImage
foi descontinuado. (Parece-me que você está confundindoUIButton.setImage
comUITableViewCell.image
, que é uma propriedade obsoleta como você disse.)A solução de Mike mostrará apenas a imagem, mas qualquer título definido no botão não ficará visível, porque você pode definir o título ou a imagem.
Se você deseja definir ambos (sua imagem e título), use o seguinte código:
fonte
Antes que isso funcionasse para mim, tive que redimensionar o quadro do botão explicitamente com base no tamanho do quadro da imagem.
fonte
[listButton sizeToFit]
Em caso de usuário rápido
fonte
Você pode fazer assim
fonte
fonte
Você pode colocar a imagem de qualquer maneira:
fonte
Eu estava procurando uma solução para adicionar um
UIImage
ao meuUIButton
. O problema é que ele exibe a imagem maior que o necessário. Apenas me ajudou com isso:Toda vez que quero exibir meu
UIImageView
, apenas defino o varhidden
comoYES
ouNO
. Pode haver outras soluções, mas eu me confundi muitas vezes com essas coisas e isso resolveu, e eu não precisava lidar com coisas internas queUIButton
estão fazendo em segundo plano.fonte
Não se preocupe tanto em enquadrar o botão no código, você pode fazer isso no storyboard. Isso funcionou para mim, uma linha ... mais simples.
fonte
fonte
Swift 3 versão (butt_img deve ser um conjunto de Imagem em Assets.xcassets ou Images.xcassets pasta no Xcode):
De qualquer forma, se você quiser que a imagem seja dimensionada para preencher o tamanho do botão, adicione um
UIImageView
excesso e atribua a sua imagem:fonte