texto separadas queden quedan que puedo porque palabras muy las justificar justificado juntar grandes espacios comprimir como ios uilabel character-spacing

ios - separadas - porque no puedo justificar un texto en word



Cómo aumentar el espaciado de caracteres en UILabel (4)

Extensión Swift para esto

extension UILabel { func addCharactersSpacing(spacing:CGFloat, text:String) { let attributedString = NSMutableAttributedString(string: text) attributedString.addAttribute(NSKernAttributeName, value: spacing, range: NSMakeRange(0, text.characters.count)) self.attributedText = attributedString } }

Entonces puedes usarlo

MyLabel.addCharactersSpacing(5, text: "Some Text")

Estoy creando una aplicación en> = iOS6. Y quiero cambiar el espaciado de caracteres en UILabel. He agregado la fuente personalizada "FUTURABT HEAVY" en mi aplicación, pero el personaje está demasiado cerca el uno del otro.

He encontrado el código correcto here para aumentar el espaciado entre caracteres. Pero si traté de cambiarlo, mi texto se volvió a la izquierda en lugar del centro.

Por favor ayúdame con esta situación.


Swift 4

extension UILabel { func setCharacterSpacing(characterSpacing: CGFloat = 0.0) { guard let labelText = text else { return } let attributedString: NSMutableAttributedString if let labelAttributedText = attributedText { attributedString = NSMutableAttributedString(attributedString: labelAttributedText) } else { attributedString = NSMutableAttributedString(string: labelText) } // Character spacing attribute attributedString.addAttribute(NSAttributedStringKey.kern, value: characterSpacing, range: NSMakeRange(0, attributedString.length)) attributedText = attributedString } }

Swift 3

let label = UILabel() let stringValue = "Sample text" let attrString = NSMutableAttributedString(string: stringValue) attrString.addAttribute(NSKernAttributeName, 2: style, range: NSRange(location: 0, length: stringValue.characters.count)) label.attributedText = attrString


Probablemente deberías usar NSAttributedString con el atributo NSKernAttributeName

Aquí hay un pequeño ejemplo:

UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds]; NSString *string = @"Some important text"; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string]; float spacing = 5.0f; [attributedString addAttribute:NSKernAttributeName value:@(spacing) range:NSMakeRange(0, [string length])]; label.attributedText = attributedString; [self.view addSubview:label];


NSString *strDigit= @"001"; NSString *strCrushImpact =[NSStringstringWithFormat:@"%d",[strDigit intValue]]; // Set space in between character float spacing = 3.0f; NSMutableAttributedString *attributedStrDigit = [[NSMutableAttributedString alloc] initWithString:strWin]; [strCrushImpact addAttribute:NSKernAttributeName value:@(spacing) range:NSMakeRange(0, [strDigit length])]; label.attributedText = attributedStrDigit;