NSLineBreakMode的使用

// 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);

在項目中我們經常用UILabel來顯示文本,有時候需要換行顯示,這種情況我們會設置UILalbel的lineBreakMode屬性,寫了個小demo,比較直觀的來看看到底各自是什么效果。

Clip:裁剪 ? 兩行顯示UILabel能顯示多少就顯示多少,第一行末尾最后一個單詞沒有被截斷而是全部顯示到第一行,第二行末尾是按字符裁剪,導致單詞typically只剩下typic

Character Wrap:字符換行, 與Clip的區別在第一行,將最后一個單詞截斷了

Word Wrap:單詞換行,第一行末尾和第二行末尾都保留完整的單詞

Truncate Head:頭部截短,第一行末尾是完整單詞,第二行最前面三個點來表示省略內容

Truncate Middle:中間截短,第一行末尾是完整單詞,第二行中間三個點來表示省略內容

Truncate Tail:尾部截短,第一行末尾是完整單詞,第二行尾部三個點來表示省略內容

圖一 ?純英文文本
圖二 純中文文本
圖三 ?中英文文本
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容