¿Cómo puedo destacar parte del texto como el iPhone de SMS?
Pregunta
Yo uso un UILabel para mostrar mi texto, en una de varias líneas y el modo UILineBreakModeWordWrap, y el ancho máximo es de 200.
Por ejemplo, aquí está el texto:
I really really want to underline first word and second word, could you help me?
Y quiero subrayar "primera palabra" y "segunda palabra".
Si el texto se muestra en un modo de una sola línea, con el método de sizeWithFont de NSString, puedo calcular fácilmente la posición de "primera palabra" y luego anular - (void) drawTextInRect: (CGRect) Rect trazar la línea.
Sin embargo, en el modo multi-línea, no sé cómo llegar a la posición. ¿Tiene alguna idea?
Solución
Hay bastante discusión sobre la NSAttributedString falta en el iPhone y la gente empieza a construir sus propios sistemas de distribución de texto para evitar este. Hay algunos proyectos que van en esta área. Es posible que desee echar un vistazo a la proyecto Three20 y su TTStyledTextLabel .
Otros consejos
Utilice un UIWebView para mostrar el texto. Eso es lo que Apple lo recomienda para texto enriquecido.