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