Sí, mucha gente dice sobre el texto enriquecido en iPhone / iPad y muchos lo saben NSAttributedString
.
¿Pero cómo se usa NSAttributedString
? Busqué durante mucho tiempo, sin extraer pistas para esto.
Sé cómo configurar un NSAttributedString
, entonces, ¿qué debo hacer para mostrar un texto en iPhone / iPad con texto enriquecido?
Los documentos oficiales dicen que debe usarse con CoreText.Framework
, ¿qué significa eso?
¿Existe alguna forma sencilla como esta?
NSAttributedString *str;
.....
UILabel *label;
label.attributedString = str;
Respuestas:
Debería echar un vistazo a OHAttributedLabel de AliSoftware . Es una subclase de UILabel que dibuja un NSAttributedString y también proporciona métodos convenientes para establecer los atributos de un NSAttributedString de las clases UIKit.
De la muestra proporcionada en el repositorio:
Nota: En iOS 6+, puede representar cadenas con atributos utilizando la propiedad attributeText de UILabel.
fuente
A partir de iOS 6.0 puedes hacerlo así:
fuente
Debería probar TTTAttributedLabel . Es un reemplazo directo de UILabel que funciona con NSAttributedString y tiene el rendimiento suficiente para UITableViewCells.
fuente
Casi. Solo use un CATextLayer. Tiene una
string
propiedad que puede establecer en NSAttributedString.EDITAR (noviembre de 2012): Por supuesto, todo esto ha cambiado en iOS 6. En iOS 6, puede hacer exactamente lo que pidió el OP: asignar una cadena atribuida directamente a una etiqueta
attributedText
.fuente
Respuesta para la alineación de texto atribuida por UILabel en iOS 6: use NSMutableAttributedString y agregue NSMutableParagraphStyle al atributo. Algo como esto:
fuente
Pensé que sería útil dar un ejemplo de análisis de una cadena HTML (simplificada) para crear una NSAttributedString.
No está completo, solo maneja las etiquetas <b> y <i>, para empezar, y no se molesta con el manejo de errores, pero es de esperar que también sea un ejemplo útil de cómo comenzar con NSXMLParserDelegate ...
Para usar, haga algo como esto:
fuente
A partir de iOS 6.0 puedes hacerlo así: otro código de muestra.
fuente
Para Swift usa esto,
Hará que los textos de Titl estén en negrita,
fuente
Sé que es un poco tarde, pero será útil para otros
Agregue el atributo deseado al diccionario y páselo como parámetro de atributos
fuente