Necesito incrustar pequeños íconos (una especie de viñetas personalizadas) en mi UILabel
iOS7. ¿Cómo puedo hacer esto en el diseñador de interfaces? O al menos en código?
En Android hay leftDrawable
y rightDrawable
para etiquetas, pero ¿cómo se hace en iOS? Muestra en android:
ios
objective-c
cocoa-touch
ios7
textkit
AVEbrahimi
fuente
fuente
Respuestas:
Puede hacerlo con los archivos adjuntos de texto de iOS 7 , que son parte de TextKit. Algún código de muestra:
fuente
UIImageView
a tu etiquetaNSAttributedString *attachmentString = [NSAttributedString attributedStringWithAttachment:attachment]; NSMutableAttributedString *myString = [[NSMutableAttributedString alloc] initWithAttributedString:attachmentString]; NSAttributedString *myText = [[NSMutableAttributedString alloc] initWithString:text]; [myString appendAttributedString:myText];
Aquí está la forma de incrustar el icono en UILabel.
También para alinear el ícono use attach.bounds
Swift 5.1
Versión Objective-C
fuente
Swift 4.2:
fuente
Su imagen de referencia se parece a un botón. Probar (también se puede hacer en Interface Builder):
fuente
Versión Swift 3
Extensión UILabel
fuente
He realizado una implementación de esta función en Swift aquí: https://github.com/anatoliyv/SMIconLabel
El código es lo más simple posible:
Así es como se ve:
fuente
UIlabel
Extensión Swift 4 para agregar imagen a la etiqueta con referencia a las respuestas anterioresfuente
NSAttributedString(string: " " + text, attributes: [.font: self.font])
Versión Swift 2.0:
fuente
Intenta arrastrar un
UIView
a la pantalla en IB. Desde allí se puede arrastrar unaUIImageView
yUILabel
en la vista que acaba de crear. Establezca la imagen delUIImageView
en el inspector de propiedades como la imagen de viñeta personalizada (que deberá agregar a su proyecto arrastrándola al panel de navegación) y podrá escribir algo de texto en la etiqueta.fuente
intenta de esta manera ...
fuente
Swift 5 Easy Way Simplemente copia y pega lo que quieras
fuente
Puede usar un UITextField con la propiedad leftView y luego establecer el
enabled
propiedad enNO
O use un UIButton y
setImage:forControlState
fuente
En Swift 2.0,
Mi solución al problema es una combinación de un par de respuestas a esta pregunta. El problema que enfrenté en la respuesta de @ Phil fue que no podía cambiar la posición del ícono, y siempre aparecía en la esquina derecha. Y la única respuesta de @anatoliy_v, no pude cambiar el tamaño del icono que quiero agregar a la cadena.
Para que funcione para mí, primero hice una
pod 'SMIconLabel'
y luego creé esta función:Esta solución no solo lo ayudará a colocar la imagen, sino que también le permitirá realizar los cambios necesarios en el tamaño del icono y otros atributos.
Gracias.
fuente
Extensión Swift 3 UILabel
Consejo: Si necesita algo de espacio entre la imagen y el texto, use uno o dos espacios antes del texto de la etiqueta.
fuente
Puede usar esta función para agregar imágenes o iconos pequeños a la etiqueta
fuente
tienes que hacer un objeto personalizado donde usaste ay
UIView
dentro de donde pusisteUIImageView
ayUILabel
fuente