// 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:尾部截短,第一行末尾是完整单词,第二行尾部三个点来表示省略内容