J'ai besoin d'intégrer de petites icônes (sorte de puces personnalisées) à mon UILabel
dans iOS7. Comment puis-je faire cela dans le concepteur d'interface? Ou du moins dans le code?
Dans Android, il y a leftDrawable
et rightDrawable
pour les étiquettes, mais comment cela se fait-il sous iOS? Échantillon dans Android:
ios
objective-c
cocoa-touch
ios7
textkit
AVEbrahimi
la source
la source
Réponses:
Vous pouvez le faire avec les pièces jointes de texte d' iOS 7 , qui font partie de TextKit. Quelques exemples de code:
la source
UIImageView
à votre étiquetteNSAttributedString *attachmentString = [NSAttributedString attributedStringWithAttachment:attachment]; NSMutableAttributedString *myString = [[NSMutableAttributedString alloc] initWithAttributedString:attachmentString]; NSAttributedString *myText = [[NSMutableAttributedString alloc] initWithString:text]; [myString appendAttributedString:myText];
Voici la façon d'intégrer l'icône dans UILabel.
Également pour aligner l'icône, utilisez la pièce jointe.
Swift 5.1
Version Objective-C
la source
Swift 4.2:
la source
Votre image de référence ressemble à un bouton. Essayez (peut également être fait dans Interface Builder):
la source
Version Swift 3
Extension UILabel
la source
J'ai fait une implémentation de cette fonctionnalité en swift ici: https://github.com/anatoliyv/SMIconLabel
Le code est aussi simple que possible:
Voici à quoi ça ressemble:
la source
UIlabel
Extension Swift 4 pour ajouter une image à l'étiquette en référence aux réponses ci-dessusla source
NSAttributedString(string: " " + text, attributes: [.font: self.font])
Version Swift 2.0:
la source
Essayez de faire glisser un
UIView
sur l'écran dans IB. De là, vous pouvez faire glisser unUIImageView
etUILabel
dans la vue que vous venez de créer. Définissez l'image duUIImageView
dans l'inspecteur des propriétés comme image de puce personnalisée (que vous devrez ajouter à votre projet en le faisant glisser dans le volet de navigation) et vous pouvez écrire du texte dans l'étiquette.la source
essayez de cette façon ...
la source
Swift 5 Easy Way Copiez et modifiez ce que vous voulez
la source
Vous pouvez utiliser un UITextField avec la propriété leftView , puis définir la
enabled
propriété surNO
Ou utilisez un UIButton et
setImage:forControlState
la source
Dans Swift 2.0,
Ma solution au problème est une combinaison de quelques réponses à cette question. Le problème que j'ai rencontré dans la réponse de @ Phil était que je ne pouvais pas changer la position de l'icône, et elle apparaissait toujours dans le coin droit. Et la seule réponse de @anatoliy_v, je n'ai pas pu redimensionner la taille de l'icône que je souhaite ajouter à la chaîne.
Pour que cela fonctionne pour moi, j'ai d'abord fait un
pod 'SMIconLabel'
, puis créé cette fonction:Cette solution vous aidera non seulement à placer l'image, mais vous permettra également d'apporter les modifications nécessaires à la taille de l'icône et à d'autres attributs.
Merci.
la source
Extension de Swift 3 UILabel
Conseil: si vous avez besoin d'un espace entre l'image et le texte, utilisez simplement un espace ou deux avant le labelText.
la source
Vous pouvez utiliser cette fonction pour ajouter des images ou de petites icônes à l'étiquette
la source
vous devez créer un objet personnalisé où vous avez utilisé un
UIView
et à l'intérieur vous mettez unUIImageView
et unUILabel
la source