UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 40, 280, 80)]; //創(chuàng)建UILabel
label.backgroundColor = [UIColor grayColor]; //設(shè)置背景色
label.tag = 12; //設(shè)置tag
label.text = @"Hello World"; //設(shè)置內(nèi)容
label.font = [UIFont fontWithName:@"Arial" size:30]; //設(shè)置內(nèi)容字體和字體大小
label.adjustsFontSizeToFitWidth = YES; //文本自適應(yīng)大小 只會(huì)變小 當(dāng)numberOfLines為1時(shí)才有效
label.minimumFontSize = 12; //文本自適應(yīng)縮小的最小字體大小 默認(rèn)為 0.0 上面要YES
label.textColor = [UIColor blueColor]; //文本顏色
label.numberOfLines = 2; //文本最多行數(shù),為0時(shí)沒有最大行數(shù)限制
label.highlighted = YES; //文本高亮
label.enabled = YES; //文本是否可變
label.backgroundColor = [UIColor clearColor]; //設(shè)置label的背景色透明
label.shadowColor = [UIColor grayColor]; //文本陰影顏色
label.shadowOffset = CGSizeMake(1.0, 1.0); //陰影偏向 第一個(gè)橫向 >0 向右 < 0向左 第二個(gè)縱向 >0 向下 < 0向上
label.userInteractionEnabled = YES; //是否與用戶交互
label.lineBreakMode = UILineBreakModeTailTruncation; //文本超出label邊界文本的截取方式
typedef enum {
UILineBreakModeWordWrap = 0, 以空格為邊界,保留整個(gè)單詞,默認(rèn)方式
UILineBreakModeCharacterWrap, 保留整個(gè)字符
UILineBreakModeClip, 到邊界為止
UILineBreakModeHeadTruncation, 省略開始,以....代替
UILineBreakModeTailTruncation, 省略結(jié)尾,以....代替
UILineBreakModeMiddleTruncation,省略中間,以....代替
} UILineBreakMode;
label.baselineAdjustment = UIBaselineAdjustmentNone; //baselineAdjustment這個(gè)值控制文本的基線位置,只有l(wèi)abel.adjustsFontSizeToFitWidth = YES;時(shí)有效自適應(yīng)大小要有效 label.numberOfLines為1
typedef enum {
UIBaselineAdjustmentAlignBaselines = 0, 默認(rèn)設(shè)置文本最上端與label中線對(duì)齊
UIBaselineAdjustmentAlignCenters, 文本中線與label中線對(duì)齊
UIBaselineAdjustmentNone, 文本最低端label中線對(duì)齊
} UIBaselineAdjustment;
label.textAlignment = UITextAlignmentCenter; //設(shè)置文本對(duì)齊方式 中間對(duì)齊
typedef enum {
UITextAlignmentLeft = 0, 左對(duì)齊默認(rèn)方式
UITextAlignmentCenter, 中間對(duì)其
UITextAlignmentRight, 右對(duì)齊
} UITextAlignment;
[self.window addSubview:label]; //把label加到當(dāng)前窗口上
[label release]; //釋放掉label
UILabel自適應(yīng)高度和自動(dòng)換行
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //初始化label
[label setNumberOfLines:0]; //設(shè)置自動(dòng)行數(shù)與字符換行
label.lineBreakMode = UILineBreakModeWordWrap;
NSString *s = @"這是一個(gè)測(cè)試!!!adsfsaf時(shí)發(fā)生發(fā)勿忘我勿忘我勿忘我勿忘我勿忘我阿阿阿阿阿阿阿阿阿阿阿阿阿啊00000000阿什頓。。。"; // 測(cè)試字串
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(320,2000); //設(shè)置一個(gè)行高上限
CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap]; //計(jì)算實(shí)際frame大小,并將label的frame變成實(shí)際大小
label1.frame = CGRectMake(0, 0, labelsize.width, labelsize.height);
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。