首行縮進
- (NSAttributedString *)resetContentText:(NSString *)text
{
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = NSTextAlignmentLeft;
paragraphStyle.maximumLineHeight = 60; //最大的行高
paragraphStyle.lineSpacing = 5; //行間距
[paragraphStyle setFirstLineHeadIndent: 24];//首行縮進 根據(jù)用戶昵稱寬度在加5個像素
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0,text.length)];
return attributedString;
}
//底部和頂部對齊
@interface UILabel (VerticalAlign)
- (void)alignTop;
- (void)alignBottom;
@end
@implementation UILabel (VerticalAlign)
- (void)alignTop {
CGSize fontSize = [self.text sizeWithFont:self.font];
double finalHeight = fontSize.height * self.numberOfLines;
double finalWidth = self.frame.size.width; //expected width of label
CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode];
int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height;
for(int i=0; i<newLinesToPad; i++)
self.text = [self.text stringByAppendingString:@"\n "];
}
- (void)alignBottom {
CGSize fontSize = [self.text sizeWithFont:self.font];
double finalHeight = fontSize.height * self.numberOfLines;
double finalWidth = self.frame.size.width; //expected width of label
CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode];
int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height;
for(int i=0; i<newLinesToPad; i++)
self.text = [NSString stringWithFormat:@" \n%@",self.text];
}
@end
UILabel首行縮進 & 頂部和底部對齊
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 開發(fā)中經(jīng)常有要求一段文字要有顯示隔開多大的行間距,字跟字之間也要有間距,首行還要有縮進,想想也是真苛刻。那么廢話不...
- .h 文件 typedef NS_ENUM (NSInteger ,VerticalAlignment){ Ver...
- 系統(tǒng)中的UILabel對齊方式只有左、中、右對齊方式,有時候希望文本內容上部、中間和底部對齊,所以下面自定義一個繼...
- 記錄一個小問題:在一個大div中,放兩個小div,發(fā)現(xiàn)對齊結果不是預期的: 原因:不同瀏覽器有不同的布局方式,有的...
- 第六章 契約挑戰(zhàn)(二) “嗚,咔咔咔”淡水鱷被召喚出來,爬在場地中央,十分聒噪。它鉗動了幾下自己巨大的布滿利齒的巨...