Eu tentei de tudo, mas não consigo centralizar este texto. Alguém pode me dizer onde está o erro.
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]}];
Respostas:
Em Swift 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "String", attributes: [.paragraphStyle: paragraph])
Em 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
Em Swift-3
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center let attributes: [String : Any] = [NSParagraphStyleAttributeName: paragraph] let attrString = NSAttributedString(string:"string", attributes: attributes) textView.attributedText = attrString
fonte
Você pode definir o alinhamento central usando isso. Lembre-se de definir o alcance.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setAlignment:NSTextAlignmentCenter]; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string]; [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];
fonte
Em Swift 4
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "string", attributes: [.paragraphStyle: paragraph])
fonte
Outra maneira:
Swift :
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}];
fonte
In Swift
let titleString = "title here" let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .Center let attributedString = NSAttributedString( string: titleString, attributes: [NSParagraphStyleAttributeName: paragraphStyle] ) titleAttributedLabel.attributedText = attributedString
fonte
Swift 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
Objective-C
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;
fonte
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))
fonte
Para fazer isso em Swift 2.x
let attributeString = NSMutableAttributedString(string: "text") style.alignment = .Center attributeString.addAttribute(NSParagraphStyleAttributeName, value: style, range: range)
fonte
Às vezes, quando o texto está em árabe ou em outros idiomas de alinhamento à direita, ao fazer o alinhamento Justificado, o texto da última linha termina no lado esquerdo. para isso, podemos adicionar baseWritingDirection abaixo é um código de amostra
let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .justified paragraphStyle.baseWritingDirection = .rightToLeft attribute.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:range) txtView.attributedText = attribute
fonte
Defina o modo de quebra de linha, se você definir o texto atribuído em UIButton.
Swift 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center paragraph.lineBreakMode = .byClipping
Objective-C
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; style.alignment = NSTextAlignmentCenter; style.lineBreakMode = NSLineBreakByClipping;
fonte