Próbowałem wszystkiego, ale nie mogę wyśrodkować tego tekstu. Czy ktoś może mi powiedzieć, gdzie jest błąd.
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]}];
Odpowiedzi:
W Swift 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "String", attributes: [.paragraphStyle: paragraph])
W 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
W Swift-3
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center let attributes: [String : Any] = [NSParagraphStyleAttributeName: paragraph] let attrString = NSAttributedString(string:"string", attributes: attributes) textView.attributedText = attrString
źródło
Za pomocą tego można ustawić wyrównanie do środka. Pamiętaj, aby ustawić zakres.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setAlignment:NSTextAlignmentCenter]; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string]; [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];
źródło
W Swift 4
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center textView.attributedText = NSAttributedString(string: "string", attributes: [.paragraphStyle: paragraph])
źródło
Inny sposób:
Szybki :
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}];
źródło
W Swift
let titleString = "title here" let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .Center let attributedString = NSAttributedString( string: titleString, attributes: [NSParagraphStyleAttributeName: paragraphStyle] ) titleAttributedLabel.attributedText = attributedString
źródło
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
Cel 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;
źródło
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))
źródło
Aby to zrobić w Swift 2.x
let attributeString = NSMutableAttributedString(string: "text") style.alignment = .Center attributeString.addAttribute(NSParagraphStyleAttributeName, value: style, range: range)
źródło
Czasami, gdy tekst jest w języku arabskim lub w innych językach z wyrównywaniem do prawej strony, to podczas wyrównywania Wyjustowany ostatni wiersz tekstu kończy się po lewej stronie. w tym celu możemy dodać baseWritingDirection poniżej jest przykładowy kod
let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .justified paragraphStyle.baseWritingDirection = .rightToLeft attribute.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:range) txtView.attributedText = attribute
źródło
Ustaw tryb przerwania linii, jeśli ustawisz przypisany tekst w UIButton.
Szybki 5
let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center paragraph.lineBreakMode = .byClipping
Cel C
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; style.alignment = NSTextAlignmentCenter; style.lineBreakMode = NSLineBreakByClipping;
źródło