最近突然遇到了個(gè)很糾結(jié)的問題,測試的時(shí)候給label 復(fù)制“中文”+“英文字符”總長度滿足換行节榜,設(shè)置numberOfLines為0羡玛。 問題出現(xiàn)了,總是在中文后自動(dòng)換行宗苍,經(jīng)過多方查詢稼稿,發(fā)現(xiàn)label的lineBreakMode屬性默認(rèn)是NSLineBreakByWordWrapping薄榛,該屬性作用是以空格為邊界保留單詞。系統(tǒng)默認(rèn)吧中文后邊的所有英文當(dāng)做了一個(gè)單詞來保留让歼,英文太長一行顯示不下所以系統(tǒng)就會(huì)自動(dòng)換行敞恋。其實(shí)很多編輯器也是如此。
以下是lineBreakMode的各種類型:
NSLineBreakByWordWrapping = 0 //以空格為邊界是越,保留單詞耳舅。
NSLineBreakByCharWrapping //保留整個(gè)字符
NSLineBreakByClipping //簡單剪裁,到邊界為止
NSLineBreakByTruncatingHead //前面部分文字以……方式省略倚评,顯示尾部文字內(nèi)容
NSLineBreakByTruncatingTail //結(jié)尾部分的內(nèi)容以……方式省略浦徊,顯示頭的文字內(nèi)容。
NSLineBreakByTruncatingMiddle //中間的內(nèi)容以……方式省略天梧,顯示頭尾的文字內(nèi)容盔性。
所以要想不讓他自動(dòng)換行就把屬性設(shè)置成保留整個(gè)字符即:NSLineBreakByCharWrapping