UILabel的字符長度超過默認(rèn)長度的時候,可以有幾種策略
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, // 以單詞為單位截斷
NSLineBreakByCharWrapping, // 以字符為單位截斷
NSLineBreakByClipping, //單詞換行,字符截斷
NSLineBreakByTruncatingHead, //"...abc"
NSLineBreakByTruncatingTail, // "abcd..."
NSLineBreakByTruncatingMiddle // "ab...yz"
}
當(dāng)使用后面三種字符截斷方式的時候,如果字符中超出長度部分的字符全是空格,則會截斷空格而不打省略號。
究其原因,應(yīng)該跟底層繪制Label 的策略有關(guān),因為空格占位繪制不像其他字符一樣,所以當(dāng)系統(tǒng)超出部分為空格時,會截斷空格之前的字符。

88963e4e8bb36699f75449f43e0f12fe.png