我們經(jīng)常會讓UILabel最多顯示幾行,這時我們要設(shè)置UILabel對象的numberOfLines這個屬性。我們會發(fā)現(xiàn),在設(shè)置了numberOfLines屬性之后,如果文字過多結(jié)尾處會以省略號"..."顯示。這是因為UILabel的lineBreakMode屬性起了作用。
lineBreakMode屬性
// NSParagraphStyle
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, // Wrap at word boundaries, default
NSLineBreakByCharWrapping, // Wrap at character boundaries
NSLineBreakByClipping, // Simply clip
NSLineBreakByTruncatingHead, // Truncate at head of line: "...wxyz"
NSLineBreakByTruncatingTail, // Truncate at tail of line: "abcd..."
NSLineBreakByTruncatingMiddle // Truncate middle of line: "ab...yz"
} NS_ENUM_AVAILABLE(10_0, 6_0);
此屬性是一個枚舉類型,有6中模式,默認(rèn)是NSLineBreakByTruncatingTail,此屬性就會讓UILabel的結(jié)尾以省略號顯示。
然而有時我們發(fā)現(xiàn)我們設(shè)置了numberOfLines和lineBreakMode 屬性,UILabel結(jié)尾處依然沒有顯示省略號,這是為什么呢?
UILabel結(jié)尾處不顯示省略號的原因
這是因為我們有時使用的UILabel的attributedText屬性,在使用該屬性之后,UILabel的lineBreakMode變成了NSLineBreakByCharWrapping,因此不再顯示省略號。如果要顯示省略號,需要我們重新設(shè)置UILabel的lineBreakMode屬性為NSLineBreakByTruncatingTail。
****本篇文章到這里就結(jié)束了,愿大家加班不多工資多,男同胞都有女朋友,女同胞都有男朋友。??****