반응형
속성 텍스트 센터 선형
저는 모든 것을 시도했지만 이 텍스트의 중심을 잡을 수 없는 것 같습니다.누가 어디서 오류가 났는지 말씀해 주시겠습니까?
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]}];
인 스위프트 5
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
textView.attributedText = NSAttributedString(string: "String",
attributes: [.paragraphStyle: paragraph])
인 스위프트-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
인 스위프트-3
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
let attributes: [String : Any] = [NSParagraphStyleAttributeName: paragraph]
let attrString = NSAttributedString(string:"string", attributes: attributes)
textView.attributedText = attrString
이를 사용하여 중심 맞춤을 설정할 수 있습니다.범위를 설정해야 합니다.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setAlignment:NSTextAlignmentCenter];
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];
인 스위프트 4
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
textView.attributedText = NSAttributedString(string: "string",
attributes: [.paragraphStyle: paragraph])
다른 방법:
스위프트:
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}];
스위프트 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
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;
인 스위프트
let titleString = "title here"
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .Center
let attributedString = NSAttributedString(
string: titleString,
attributes: [NSParagraphStyleAttributeName: paragraphStyle]
)
titleAttributedLabel.attributedText = attributedString
스위프트4
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))
위의 유용한 답변에 기초한 도우미 방법
public extension NSAttributedString
{
var centered: NSAttributedString
{
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
let m = NSMutableAttributedString(attributedString: self)
m.addAttribute(.paragraphStyle, value: paragraph, range: NSMakeRange(0, length))
return m
}
}
Is doted 및 Ts cross el verbositas 버전을 원하는 경우.
var centered: NSAttributedString {
let paragraphStyle: NSMutableParagraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = NSTextAlignment.center
let attributedString = NSMutableAttributedString(attributedString: self)
attributedString.addAttributes([NSAttributedString.Key.paragraphStyle : paragraphStyle],
range: NSRange(location: 0, length: attributedString.length))
return attributedString
}
Swift 2.x에서 수행하려면
let attributeString = NSMutableAttributedString(string: "text")
style.alignment = .Center
attributeString.addAttribute(NSParagraphStyleAttributeName, value: style, range: range)
텍스트가 아랍어 또는 다른 오른쪽 정렬 언어로 되어 있는 경우 정렬 정당화를 수행할 때 마지막 줄 텍스트가 왼쪽으로 끝나는 경우가 있습니다.이를 위해 아래의 샘플 코드에 baseWritingDirection을 추가할 수 있습니다.
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .justified
paragraphStyle.baseWritingDirection = .rightToLeft
attribute.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:range)
txtView.attributedText = attribute
UIButton에 속성 텍스트를 설정한 경우 줄 바꿈 모드를 설정합니다.
스위프트 5
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
paragraph.lineBreakMode = .byClipping
목표-C
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
style.alignment = NSTextAlignmentCenter;
style.lineBreakMode = NSLineBreakByClipping;
이것은 레이블에 적합합니다.textAlignment = .center
언급URL : https://stackoverflow.com/questions/29045750/attributed-text-center-alignment
반응형
'programing' 카테고리의 다른 글
Git: 마지막 약속 보기 (0) | 2023.05.26 |
---|---|
지역 지점에서 다른 지점으로 "끌어내는" 방법은 무엇입니까? (0) | 2023.05.26 |
VB.NET에서 개체 유형에 대한 대/소문자 선택 (0) | 2023.05.26 |
NSLayoutConstraint의 승수 속성을 변경할 수 있습니까? (0) | 2023.05.26 |
하위 프로세스.call()에서 파일을 찾을 수 없습니다. (0) | 2023.05.26 |