Pregunta

Tengo una vista que dibuja el texto multicolor en el interior UITableViewCell. Para dibujar el texto multicolor que estoy usando NSAttributedString Sin embargo, me gustaría hacerlo de modo que si el texto es demasiado largo para caber en la vista, la última línea visible se trunca a mostrar una elipsis en su extremo.

Obviamente esto es muy fácil de hacer en la elaboración de una sola línea, ya que sólo puede establecer kCTLineBreakByTruncatingTail para el modo de salto de línea del estilo de párrafo. El problema es que quiero que mi texto se ajuste a llenar el rectángulo, y luego sólo tienen la última línea truncada con puntos suspensivos -. Configuración del modo de salto de línea confines del documento entero a una línea

¿Alguien tiene alguna idea de cómo iba a ir sobre esto?

Muchas gracias de antemano por cualquier sugerencia, JC.

¿Fue útil?

Solución 3

Bueno, para activar el texto truncar en UILabel, se debe volver a lineBreakMode conjunto de parámetros a NSLineBreakByTruncatingTail después de establecer attributedText.

 textLabel.attributedText = attributedText;
 textLabel.lineBreakMode = NSLineBreakByTruncatingTail;

Otros consejos

Crea tu CTFrame de su CTFrameSetter con el rectángulo de la UITableViewCell. A continuación, se pueden obtener todos los CTLines de su CTFrame y determinar cuándo van a cortar. Que cambiar los puntos suspensivos, usted podría mantener que dibuja con una CTFrame independiente y dibujar sobre el texto que desborda en la última línea.

Puede encontrar el código de trabajo aquí: https://stackoverflow.com/a/14612598/473067

Es un enfoque similar a lo que sugirió Heath. Pero entonces, todo ello envuelto en un paquete brillante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top