我們經(jīng)常會(huì)讓UILabel最多顯示幾行羽杰,這時(shí)我們要設(shè)置UILabel對(duì)象的numberOfLines這個(gè)屬性滤馍。我們會(huì)發(fā)現(xiàn)贸典,在設(shè)置了numberOfLines屬性之后,如果文字過多結(jié)尾處會(huì)以省略號(hào)"..."顯示雏逾。這是因?yàn)閁ILabel的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);
此屬性是一個(gè)枚舉類型,有6中模式栖博,默認(rèn)是NSLineBreakByTruncatingTail屑宠,此屬性就會(huì)讓UILabel的結(jié)尾以省略號(hào)顯示。
然而有時(shí)我們發(fā)現(xiàn)我們?cè)O(shè)置了numberOfLines和lineBreakMode 屬性笛匙,UILabel結(jié)尾處依然沒有顯示省略號(hào)侨把,這是為什么呢?
UILabel結(jié)尾處不顯示省略號(hào)的原因
這是因?yàn)槲覀冇袝r(shí)使用的UILabel的attributedText屬性妹孙,在使用該屬性之后秋柄,UILabel的lineBreakMode變成了NSLineBreakByCharWrapping,因此不再顯示省略號(hào)蠢正。如果要顯示省略號(hào)骇笔,需要我們重新設(shè)置UILabel的lineBreakMode屬性為NSLineBreakByTruncatingTail。
****本篇文章到這里就結(jié)束了嚣崭,愿大家加班不多工資多笨触,男同胞都有女朋友,女同胞都有男朋友雹舀。??****