-1
增加的空間,我想使這種類型的格式,以字NSString
安排上UILabel
像如何安排這類格式的NSString字沒有的UILabel
,但我儘量讓添加額外的空白空間根據上面的字長度,但另一種方式來使這種類型的格式假設使用NSAttributesString
。
增加的空間,我想使這種類型的格式,以字NSString
安排上UILabel
像如何安排這類格式的NSString字沒有的UILabel
,但我儘量讓添加額外的空白空間根據上面的字長度,但另一種方式來使這種類型的格式假設使用NSAttributesString
。
您可以使用NSMutableAttributedString
來做到這一點,而無需添加額外的空白。
首先,創建一個返回NSMutableAttributedString
喜歡這個 -
-(NSMutableAttributedString*)setIndent:(NSString*) title value:(CGFloat) value {
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.alignment = NSTextAlignmentLeft;
style.firstLineHeadIndent = value;
NSMutableAttributedString *attrText = [[NSMutableAttributedString alloc] initWithString:title attributes:@{ NSParagraphStyleAttributeName : style}];
return attrText;
}
的方法,並通過以下方式使用此方法 -
NSString *title = @"Charlie Chapline Cartoon";
NSArray* foo = [title componentsSeparatedByString: @" "];
NSMutableAttributedString *attrText5 = [[NSMutableAttributedString alloc] init];
CGFloat value = 0.0f;
for(int i = 0; i< foo.count; i++){
//change this value according to your need.
value = value + 20.0f;
[attrText5 appendAttributedString:[self setIndent:[NSString stringWithFormat:@"%@\n", foo[i]] value:value]];
}
_myLab.numberOfLines = 5;
_myLab.attributedText = attrText5;
輸出:
感謝您給出答案,我嘗試在單詞之前添加動態空間謝謝 – Keyur
使用Alt鍵在xib/sto的UILabel Text屬性中輸入新行和Alt + Tab ryboard。並且將Line屬性更改爲0. – Shreyank
@Shreyank我想以編程方式安排這種格式 – Keyur
'lblName.text = @「FirstLine \ n \ tSecondLine \ n \ t \ tThirdLine」;'只要這樣做。 – Shreyank