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

像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会失效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容