標(biāo)簽UILabel
UILabel常見的屬性
1.shadowColor屬性:設(shè)置陰影顏色 。
2.shadowOffset屬性:設(shè)置陰影偏移量。
3.lineBreakMode屬性:設(shè)置文字過長時的顯示格式。取值有以下幾種:
typedef NS_ENUM(NSInteger, NSLineBreakMode) { /* What to do with long lines */
NSLineBreakByWordWrapping = 0, /* 單詞為顯示單位顯示,后面部分省略不顯示。 */
NSLineBreakByCharWrapping, /* 以字符為顯示單位顯示,后面部分省略不顯示。 */
NSLineBreakByClipping, /* 剪切與文本寬度相同的內(nèi)容長度,后半部分被刪除。*/
NSLineBreakByTruncatingHead, /* 前面部分文字以……方式省略,顯示尾部文字內(nèi)容。 */
NSLineBreakByTruncatingTail, /* 結(jié)尾部分的內(nèi)容以……方式省略,顯示頭的文字內(nèi)容。 */
NSLineBreakByTruncatingMiddle /* 中間的內(nèi)容以……方式省略,顯示頭尾的文字內(nèi)容 */
} NS_ENUM_AVAILABLE_IOS(6_0);
4.attributedText屬性:設(shè)置標(biāo)簽屬性文本。
5.highlightedTextColor屬性:設(shè)置高亮顯示時的文本顏色。
6.highlighted屬性:設(shè)置是否高亮顯示。
7.userInteractionEnabled屬性:設(shè)置是否能與用戶交互。
8.enabled屬性:只是決定了Label的繪制方式,將它設(shè)置為NO將會使文本變暗,表示它沒有激活,這時向它設(shè)置顏色值是無效的。
9.numberOfLines屬性:設(shè)置文本最多行數(shù),為0時沒有最大行數(shù)限制。
10.adjustsLetterSpacingToFitWidth屬性:設(shè)置改變字母之間的間距來適應(yīng)Label大小。
// default is NO, adjust letter spacing to make text fit. Note: setting this property to YES will cause the value of -[NSParagraphStyle tighteningFactorForTruncation] to be disregarded.
11.minimumFontSize屬性:設(shè)置最小收縮字號,如果Label寬度小于文字長度時,文字字號減小,低于設(shè)定字號后,不再減小。6.0以后不再使用了。
12.baselineAdjustment屬性:設(shè)置文本的基線位置,只有文本行數(shù)為1是有效。取值有以下幾種:
typedef NS_ENUM(NSInteger, UIBaselineAdjustment) {
UIBaselineAdjustmentAlignBaselines = 0, // 默認值文本最上端于label中線對齊
UIBaselineAdjustmentAlignCenters, // 文本中線于label中線對齊
UIBaselineAdjustmentNone, // 文本最低端與label中線對齊
};
13.minimumScaleFactor屬性:設(shè)置最小收縮比例,如果Label寬度小于文字長度時,文字進行收縮,收縮超過比例后,停止收縮。
14.preferredMaxLayoutWidth屬性:設(shè)置preferredMaxLayoutWidth,autolayout才會判斷到折行的位置。知道一個確切的width當(dāng)然是最好的,那么直接設(shè)置即可,但是如果UILabel的寬度是自適應(yīng)的,不確定,那么可以使用如下的代碼設(shè)置
- (void)layoutSubViews
{
[super layoutSubViews];
self.label.preferredMaxLayoutWidth = self.label.bounds.size.width;
}
UILabel繼承自UIView并且遵守<NSCoding>協(xié)議,包含來自他們的方法,還有一些獨有方法:
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines; // 計算numberOfLines行后的Label的Frame
- (void)drawTextInRect:(CGRect)rect;
//改變繪文字屬性.重寫時調(diào)用super可以按默認圖形屬性繪制,若自己完全重寫繪制函數(shù),就不用調(diào)用super了.
UILabel的委托方法(不存在delegate屬性,無委托方法)
UILabel不存在delegate屬性,無委托方法。
UILabel支持的事件
。。
UILabel開發(fā)中常見的功能
//清空背景顏色
label.backgroundColor = [UIColor clearColor];
//設(shè)置字體顏色為白色
label.textColor = [UIColor whiteColor];
//文字居中顯示
label.textAlignment = UITextAlignmentCenter;
//自動折行設(shè)置
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;