ios uilabel word-wrap hyphen nsparagraphstyle

ios - añadir guiones en el salto de palabra en un UILabel



word-wrap hyphen (5)

A veces es crucial agregar una clave de atributo de locale .

NSString *lorem = @"Lorem ipsum <et cetera>."; NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init]; paragraph.hyphenationFactor = 1; paragraph.alignment = NSTextAlignmentJustified; paragraph.lineBreakMode = NSLineBreakByWordWrapping; self.label.attributedText = [[NSAttributedString alloc] initWithString:lorem attributes:@{ NSFontAttributeName: [UIFont preferredFontForTextStyle:UIFontTextStyleBody], NSForegroundColorAttributeName: [UIColor darkGrayColor], NSParagraphStyleAttributeName: paragraph, @"locale": @"la", // Latin, use @"en-US" for American English, for example. }];

¿Cómo configuro un lineBreakMode de UILabel para dividir palabras y agregar guiones a palabras rotas?

una etiqueta con un wo roto

rd debería verse así


Elaborando la respuesta de Matt aquí: https://.com/a/16502598/196358 puede hacerse usando NSAttributedString y NSParagraphStyle. Vea abajo:

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.hyphenationFactor = 1.0f; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:titleString attributes:@{ NSParagraphStyleAttributeName : paragraphStyle }]; self.titleLabel.attributedText = attributedString;

Esto hará que la etiqueta se rompa en lugares lógicos a mitad de la palabra usando guiones. Se ve muy bien, y es bastante simple de hacer. Requiere iOS 6.0, pero solo lo he probado en 7.0.


Esto te ayudara. Por favor, cambie el texto de Uilabel a Atribuido



Swift 4.0

let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.hyphenationFactor = 1.0 let hyphenAttribute = [ NSAttributedStringKey.paragraphStyle : paragraphStyle, ] as [NSAttributedStringKey : Any] let attributedString = NSMutableAttributedString(string: "Your String", attributes: hyphenAttribute) self.yourLabel.attributedText = attributedString

Swift 3.0

let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.hyphenationFactor = 1.0 let attributedString = NSMutableAttributedString(string: “Your String”, attributes: [NSParagraphStyleAttributeName:paragraphStyle]) self.yourLabel.attributedText = attributedString

De storyboard