iOS控件學習筆記 - UILabel

iOS控件學習筆記 - UILabel

	UILabel *lbl = [[UILabel alloc]init];
    lbl.frame = CGRectMake(100,100,100,20);
    lbl.textColor = [UIColor blackColor];
    lbl.text = @"測試";
    [self.view addSubview:lbl];

設置文本對齊方式

lbl.textAlignment = NSTextAlignmentLeft;
typedef NS_ENUM(NSInteger, NSTextAlignment) {
    NSTextAlignmentLeft      = 0,    // 居左
    NSTextAlignmentCenter   = 1,    // 居中
    NSTextAlignmentRight     = 2,    // 居右
    NSTextAlignmentJustified = 3,    //段落中的最後一行是自然對齊的
    NSTextAlignmentNatural   = 4,    //默認對齊方式 TODO 測試
} NS_ENUM_AVAILABLE_IOS(6_0);

設置文本行數

lbl.numberOfLines = 0; //不限制行數
lbl.numberOfLines = n; //n行

設置文本自適應

lbl.adjustsFontSizeToFitWidth = YES;//字體大小隨着控件寬度變化
[lbl sizeToFit];//控件大小隨着字體大小變化。

設置用戶是否可以響應用戶操作

lbl.userInteractionEnabled = YES;

設置文本的基線位置

//文本最上端與Label中線對齊,默認值
lbl.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
//文本中線與Label中線對齊
lbl.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
//文本最底端與Label中線對齊
lbl.baselineAdjustment = UIBaselineAdjustmentNone;

設置文字過長時的顯示格式

lbl.lineBreakMode = NSLineBreakByWordWrapping;
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
    NSLineBreakByWordWrapping = 0,   //以單詞爲邊界 
    NSLineBreakByCharWrapping,		//以字符爲邊界
    NSLineBreakByClipping,		//簡單剪裁,到邊界爲止
    NSLineBreakByTruncatingHead,	//按照"……文字"顯示
    NSLineBreakByTruncatingTail,	 //按照"文字……"顯示
    NSLineBreakByTruncatingMiddle	//按照"文字……文字"顯示
} NS_ENUM_AVAILABLE(10_0, 6_0);

富文本顯示方式

設置文本行間距

NSString * str = @"這是一段測試性的話語,字打的太少會看不出來結果。多打幾行,看看處理後的效果。這是一段測試性的話語,字打的太少會看不出來結果。多打幾行,看看處理後的效果。這是一段測試性的話語,字打的太少會看不出來結果。多打幾行,看看處理後的效果。這是一段測試性的話語,字打的太少會看不出來結果。多打幾行,看看處理後的效果。";
UILabel * lbl = [[UILabel alloc]initWithFrame:CGRectMake(20, 100, 280, 100)];
lbl.numberOfLines = 0;
lbl.backgroundColor = [UIColor orangeColor];
lbl.font = [UIFont systemFontOfSize:16];
lbl.textColor = [UIColor blackColor];
    
NSMutableParagraphStyle * pStryle = [[NSMutableParagraphStyle alloc] init];
    [pStryle setLineSpacing:20];//設置行間距
    
NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithString:str];
[attrStr addAttribute:NSParagraphStyleAttributeName value:pStryle range:NSMakeRange(0, [str length])];
    
[lbl setAttributedText:attrStr];
[lbl sizeToFit];//設置控件大小自適應變化
[self.view addSubview:lbl];

效果如下
這裏寫圖片描述

設置控件是否可編輯

lbl.enabled = NO;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章