2012-08-22 15 views
7

Tengo NSMutableAttributedString y la cadena es bastante larga. Me gustaría hacer un ajuste de palabras mientras lo visualizo en UIlabel. Si fue NSString, seguiré adelante y haré algo como esto, Dynamic UILabel truncating the text Pero, ¿cómo puedo hacerlo con NSAttributedString? Y una vez hecho, necesito cambiar el tamaño de la vista según el tamaño de la etiqueta.Envoltorio de palabras para NSMutableAttributedString

+0

Hey kBpro es mi answser útil para usted. Si es así, acéptalo. – python

Respuesta

5

La propiedad lineBreakMode no está en desuso en iOS 6. Simplemente ha cambiado los nombres de las constantes. Las constantes antiguas están en desuso, pero aún están disponibles. Puede usar las nuevas constantes incluso si está implementando en un iOS anterior, porque las constantes son solo valores enum. Los nombres antiguos y los nuevos nombres tienen los mismos valores. Por lo tanto, simplemente configure yourlabelname.lineBreakMode = NSLineBreakByTruncatingTail.

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail]; 
[attributedStr addAttribute:NSParagraphStyleAttributeName 
        value:paragraphStyle 
        range:NSMakeRange(0,[attributedStr length])]; 
0

Siguiendo también funciona independientemente de usar texto atribuido o texto normal. Asegúrese de agregar la línea siguiente después de establecer AttributedText y la fuente en la etiqueta.

label.lineBreakMode = .byTruncatingTail

Cuestiones relacionadas