iOS富文本设置、高度计算、混合字符(中英)串换行设置

来源:互联网 时间:2017-01-22


像UILabel之类的显示NSString的控件,其属性都可以在NSMutableAttributedString中进行设置附参考链接:

http://blog.csdn.net/u013346305/article/details/50896308

http://blog.csdn.net/hdfqq188816190/article/details/50680385

在iOS7之后计算字符串高度的sizeWithFont方法已经被boundingRectWithSize代替,增加了对富文本的相关设定。

在使用富文本时应注意中英混合的情况,该情况会使你的换行操作出现问题,因为很多编译器默认会计算当“中文”+“英文”后如果宽度大于设定的控件宽度时,会将中文后的英文直接换到第二行显示(即lineBreakMode的默认属性为NSLineBreakByWordWrapping),在Xcode中的控制台打印和coding的时候都会出现这个情况。

此时应该:label.lineBreakMode = NSLineBreakByCharWrapping;

如果此时你是即进行了富文本设定又对换行进行设定的话,记住先把换行操作的代码放到label.attributedText = .......代码之后,不然label.lineBreakMode = NSLineBreakByCharWrapping会失效。




相关阅读:
Top