// 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:尾部截短,第一行末尾是完整單詞,第二行尾部三個點來表示省略內容