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

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

作者: 瞎编程 | 来源:发表于2016-08-15 17:43 被阅读1919次

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ttomjttx.html