这个问题跟 Label的lineBreakMode属性有关。
lineBreakMode默认是NSLineBreakByWordWrapping,该属性作用是以空格为边界保留单词。
系统默认把中文后边的所有英文当做了一个单词来保留,英文太长一行显示不下所以系统就会自动换行。
lineBreakMode的几种类型:
NSLineBreakByWordWrapping = 0 //以空格为边界,保留单词。
NSLineBreakByCharWrapping //保留整个字符
NSLineBreakByClipping //简单剪裁,到边界为止
NSLineBreakByTruncatingHead //前面部分文字以……方式省略,显示尾部文字内容
NSLineBreakByTruncatingTail //结尾部分的内容以……方式省略,显示头的文字内容。
NSLineBreakByTruncatingMiddle //中间的内容以……方式省略,显示头尾的文字内容。
所以要想不让Label自动换行就把属性设置成保留整个字符. 即:NSLineBreakByCharWrapping