概述 UILabel類實現了一個只讀文本視圖。你可以使用這個類來畫一個或多個靜態文本.UILabel類支持既簡單又複雜的樣式標簽文本,還可以控制外觀,比如標簽是否使用了一個影子或者處於高亮狀態等等. UILabel類繼承自UIView 屬性 創建UILabel對象 UILabel *label = ...
概述
UILabel
類實現了一個只讀文本視圖。你可以使用這個類來畫一個或多個靜態文本.UILabel
類支持既簡單又複雜的樣式標簽文本,還可以控制外觀,比如標簽是否使用了一個影子或者處於高亮狀態等等.UILabel
類繼承自UIView
屬性
創建UILabel
對象
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
設置顯示文字,預設是空的
label.text = @"測試";
設置字體(系統預設字體是16號字體)
label.font = [UIFont systemFontOfSize:16];
設置字體顏色(預設是黑色)
label.textColor = [UIColor redColor];
設置對齊方式(在iOS 9之後,此屬性的預設值是 NStextalignmentnatural;之前的iOS 9,預設值為nstextalignmentleft。)
居左 NSTextAlignmentLeft
居中 NSTextAlignmentCenter
居右 NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter;
設置換行模式
以一個單詞為單位換行,最後一行顯示不全內容以單詞截斷,後面直接不顯示 NSLineBreakByWordWrapping
以字元換行 NSLineBreakByCharWrapping
以一個單詞為單位換行,最後一行顯示不全的內容,在label的最後直接截斷,後面直接不顯示 NSLineBreakByClipping
顯示不全;最後一行將最後的內容顯示,前面使用...代替 例:Truncate at head of line: "...wxyasdasdz" NSLineBreakByTruncatingHead
顯示不全;最後一行將前面的內容顯示,最後使用...代替 例:Truncate at tail of line: "abcd..." NSLineBreakByTruncatingTail
顯示不全;最後一行將前面的內容顯示和最後的內容顯示,中間使用...代替 NSLineBreakByTruncatingMiddle
label.lineBreakMode = NSLineBreakByWordWrapping;
設置陰影顏色
label.shadowColor = [UIColor greenColor];
設置陰影的偏移量,預設是 CGSizeMake(0, -1) -- a top shadow
label.shadowOffset = CGSizeMake(0, -2);
設置行數(當文本需要自適應時,需將行數設置為0)
label.numberOfLines = 0;
adjustsFontSizeToFitWidth
根據寬度調整font
,預設為 NO
label.adjustsFontSizeToFitWidth = YES;
attributedText
屬性文本,這裡不多做介紹,具體請點此查看
高亮屬性
設置是否處於高亮狀態
[label setHighlighted:YES];
設置高亮狀態字體的顏色
label.highlightedTextColor = [UIColor blueColor];
設置能否進行用戶交互(預設為NO
)
label.userInteractionEnabled = YES;
此屬性只決定如何繪製標簽。禁用的文本有些模糊,表示它不活躍。預設情況下,此屬性被設置為yes。
label.enabled = NO;
自適應
default is NO
設置字體大小適應label
寬度
label.adjustsFontSizeToFitWidth = YES;
default is UIBaselineAdjustmentAlignBaselines
//如果adjustsFontSizeToFitWidth
屬性設置為YES
,這個屬性就來控制文本基線的行為
label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
項目中label
自適應高度代碼
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)]; label.text = title; label.font = font; label.numberOfLines = 0; [label sizeToFit]; CGFloat height = label.frame.size.height; return height; }
項目中label
自適應寬度的代碼
+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)]; label.text = title; label.font = font; [label sizeToFit]; return label.frame.size.width; }
作者:coder小鵬