He intentado todo, pero parece que no puedo centrar este texto. ¿Alguien puede decirme dónde está el error?
NSMutableParagraphStyle *paragraphStyle = NSMutableParagraphStyle.new;
paragraphStyle.alignment = NSTextAlignmentCenter;
label.attributedText = [[NSAttributedString alloc] initWithString:cell.EventTitle.text attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor],NSParagraphStyleAttributeName:paragraphStyle,NSBaselineOffsetAttributeName : @0,NSFontAttributeName : [UIFont fontWithName:@"BrandonGrotesque-Black" size:34]}];
Respuestas:
En Swift 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "String", attributes: [.paragraphStyle: paragraph])
En Swift-4
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center let attributes: [NSAttributedString.Key : Any] = [NSAttributedString.Key.paragraphStyle: paragraph] let attrString = NSAttributedString(string:"string", attributes: attributes) textView.attributedText = attrString
En Swift-3
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center let attributes: [String : Any] = [NSParagraphStyleAttributeName: paragraph] let attrString = NSAttributedString(string:"string", attributes: attributes) textView.attributedText = attrString
fuente
Puede establecer la alineación central usando esto. Recuerde establecer el rango.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setAlignment:NSTextAlignmentCenter]; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string]; [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];
fuente
En Swift 4
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "string", attributes: [.paragraphStyle: paragraph])
fuente
De otra manera:
Rápido :
let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .center let attributedString = NSAttributedString(string: "This will be centered.", attributes: [ NSAttributedString.Key.paragraphStyle: paragraphStyle])
Obj-C :
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; paragraphStyle.alignment = NSTextAlignmentCenter; NSAttributedString *attributedString = [NSAttributedString.alloc initWithString:@"This will be centered." attributes: @{NSParagraphStyleAttributeName:paragraphStyle}];
fuente
En Swift
let titleString = "title here" let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .Center let attributedString = NSAttributedString( string: titleString, attributes: [NSParagraphStyleAttributeName: paragraphStyle] ) titleAttributedLabel.attributedText = attributedString
fuente
Rápido 4+
let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = NSTextAlignment.center // Swift 4.2++ let attributedString = NSMutableAttributedString(string: "Your String", attributes: [NSAttributedString.Key.paragraphStyle:paragraphStyle]) // Swift 4.1-- let attributedString = NSMutableAttributedString(string: "Your String", attributes: [NSAttributedStringKey.paragraphStyle:paragraphStyle]) let yourLabel = UILabel() yourLabel.attributedText = attributedString
C objetivo
NSString *string = @"Your String"; NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.alignment = NSTextAlignmentCenter; NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:string attributes: @{NSParagraphStyleAttributeName:paragraphStyle}]; UILabel *label = [[UILabel alloc] init]; label.attributedText = attributedString;
fuente
Swift4
let attributedString = NSMutableAttributedString(string: "Example text that is centered using a paragraph style. With the ability to change the width between lines.", attributes: [NSAttributedStringKey.font: GothamFont.medium(with: 14)]) let myParagraphStyle = NSMutableParagraphStyle() myParagraphStyle.alignment = .center // center the text myParagraphStyle.lineSpacing = 14 //Change spacing between lines myParagraphStyle.paragraphSpacing = 38 //Change space between paragraphs attributedString.addAttributes([.paragraphStyle: myParagraphStyle], range: NSRange(location: 0, length: attributedString.length))
fuente
Para hacerlo en Swift 2.x
let attributeString = NSMutableAttributedString(string: "text") style.alignment = .Center attributeString.addAttribute(NSParagraphStyleAttributeName, value: style, range: range)
fuente
A veces, cuando el texto está en árabe o en otros idiomas de alineación a la derecha, al realizar la alineación Justificado, el texto de la última línea termina en el lado izquierdo. para esto podemos agregar baseWritingDirection a continuación es un código de muestra
let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .justified paragraphStyle.baseWritingDirection = .rightToLeft attribute.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:range) txtView.attributedText = attribute
fuente
Establezca el modo de salto de línea, si establece el texto atribuido en UIButton.
Rápido 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center paragraph.lineBreakMode = .byClipping
C objetivo
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; style.alignment = NSTextAlignmentCenter; style.lineBreakMode = NSLineBreakByClipping;
fuente