Preciso incorporar pequenos ícones (tipo de marcadores personalizados) no meu UILabel
no iOS7. Como posso fazer isso no designer de interface? Ou pelo menos no código?
No Android, existem leftDrawable
e rightDrawable
para rótulos, mas como isso é feito no iOS? Amostra no android:
ios
objective-c
cocoa-touch
ios7
textkit
AVEbrahimi
fonte
fonte
Respostas:
Você pode fazer isso com os anexos de texto do iOS 7 , que fazem parte do TextKit. Algum código de exemplo:
fonte
UIImageView
ao seu rótuloNSAttributedString *attachmentString = [NSAttributedString attributedStringWithAttachment:attachment]; NSMutableAttributedString *myString = [[NSMutableAttributedString alloc] initWithAttributedString:attachmentString]; NSAttributedString *myText = [[NSMutableAttributedString alloc] initWithString:text]; [myString appendAttributedString:myText];
Aqui está o caminho para incorporar o ícone no UILabel.
Também para alinhar o ícone, use attachment.bounds
Swift 5.1
Versão Objective-C
fonte
Swift 4.2:
fonte
Sua imagem de referência se parece com um botão. Tente (também pode ser feito no Interface Builder):
fonte
Versão Swift 3
Extensão UILabel
fonte
Eu fiz uma implementação desse recurso rapidamente aqui: https://github.com/anatoliyv/SMIconLabel
O código é o mais simples possível:
Aqui está como fica:
fonte
UIlabel
Extensão Swift 4 para adicionar imagem ao rótulo com referência às respostas acimafonte
NSAttributedString(string: " " + text, attributes: [.font: self.font])
Versão Swift 2.0:
fonte
Tente arrastar um
UIView
para a tela no IB. A partir daí, você pode arrastar umUIImageView
eUILabel
para a visualização que você acabou de criar. Defina a imagem doUIImageView
inspetor de propriedades como a imagem de marcador personalizada (que você precisará adicionar ao seu projeto arrastando-a para o painel de navegação) e poderá escrever algum texto no rótulo.fonte
tente assim ...
fonte
Swift 5 Easy Way Just CopyPaste e mude o que quiser
fonte
Você pode usar um UITextField com a propriedade leftView e, em seguida, defina a
enabled
propriedade comoNO
Ou use um UIButton e
setImage:forControlState
fonte
No Swift 2.0,
Minha solução para o problema é uma combinação de algumas respostas sobre essa questão. O problema que encontrei na resposta de @ Phil foi que não conseguia mudar a posição do ícone, e ele sempre aparecia no canto direito. E a resposta de @anatoliy_v, não pude redimensionar o tamanho do ícone que quero anexar à string.
Para fazê-lo funcionar, primeiro fiz uma
pod 'SMIconLabel'
e depois criei esta função:Esta solução não apenas ajudará você a colocar a imagem, mas também permitirá que você faça as alterações necessárias no tamanho do ícone e em outros atributos.
Obrigado.
fonte
Extensão do Swift UILabel
Dica: Se você precisar de algum espaço entre a imagem e o texto, use um ou dois espaços antes do rótulo Text.
fonte
Você pode usar esta função para adicionar imagens ou pequenos ícones ao rótulo
fonte
você tem que criar um objeto personalizado onde você usou um
UIView
e dentro de você coloca umUIImageView
e umUILabel
fonte