iOS開發(fā)中讓UILabel結(jié)尾處以省略號顯示

我們經(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é)束了,愿大家加班不多工資多,男同胞都有女朋友,女同胞都有男朋友。??****

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 我今天23歲放佛又回到三年前,一切又要重新開始,回想那年初次踏上湘江大地,所有的事物都是那么新奇,會遇見什么...
    視覺濕閱讀 229評論 0 1
  • 一 安徽北部農(nóng)村的秋天,呈現(xiàn)出一股遺老的氣息,廖白的天光下刮著冷冷的風(fēng),帶著幾片枯葉的柳枝在風(fēng)中搖曳,清澈的河水倒...
    才盡江郎閱讀 202評論 0 1