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;