|
@@ -189,7 +189,12 @@ extension String {
|
|
|
return jsonStr
|
|
|
}
|
|
|
|
|
|
- static func getArrayFromJSONString(jsonString:String) ->NSArray{
|
|
|
+
|
|
|
+ /// json转数组
|
|
|
+ ///
|
|
|
+ /// - Parameter jsonString: jsonstring
|
|
|
+ /// - Returns: 数组
|
|
|
+ static func getArrayFromJSONString(jsonString:String) ->NSArray {
|
|
|
|
|
|
let jsonData:Data = jsonString.data(using: .utf8)!
|
|
|
|
|
@@ -202,7 +207,7 @@ extension String {
|
|
|
}
|
|
|
|
|
|
//改变指定字符串中内容的颜色
|
|
|
- func changeTextColor(rangStr : String, rangColor : UIColor) ->NSAttributedString{
|
|
|
+ func changeTextColor(rangStr : String, rangColor : UIColor) ->NSAttributedString {
|
|
|
let strg = self
|
|
|
let ranStr = rangStr
|
|
|
//所有文字变为富文本
|
|
@@ -215,7 +220,7 @@ extension String {
|
|
|
return attrstring
|
|
|
}
|
|
|
//改变指定字符串中内容的颜色
|
|
|
- func changeTextColorFont(rangStr : String, rangColor : UIColor,font:UIFont) ->NSAttributedString{
|
|
|
+ func changeTextColorFont(rangStr : String, rangColor : UIColor,font:UIFont) ->NSAttributedString {
|
|
|
let strg = self
|
|
|
let ranStr = rangStr
|
|
|
//所有文字变为富文本
|
|
@@ -228,9 +233,47 @@ extension String {
|
|
|
return attrstring
|
|
|
}
|
|
|
|
|
|
+ /// 富文本
|
|
|
+ ///
|
|
|
+ /// - Returns: html
|
|
|
func setHTMLImgStyle() -> String {
|
|
|
let str = "<head><style>img{width:\(kScreenWidth) !important;height:auto}</style></head>\(self)"
|
|
|
return str
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /// 计算string 内容的宽度
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - font: 字体
|
|
|
+ /// - height: 高度
|
|
|
+ /// - Returns: 返回宽度
|
|
|
+ func widthForComment(font: UIFont, height: CGFloat = 15) -> CGFloat {
|
|
|
+ let rect = NSString(string: self).boundingRect(with: CGSize(width: CGFloat(MAXFLOAT), height: height), options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil)
|
|
|
+ return ceil(rect.width)
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 计算string 内容的高度
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - font: 字体
|
|
|
+ /// - width: 宽度
|
|
|
+ /// - Returns: 返回高度
|
|
|
+ func heightForComment(font: UIFont, width: CGFloat) -> CGFloat {
|
|
|
+ let rect = NSString(string: self).boundingRect(with: CGSize(width: width, height: CGFloat(MAXFLOAT)), options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil)
|
|
|
+ return ceil(rect.height)
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 计算string 内容的高度
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - font: 字体
|
|
|
+ /// - width: 宽度
|
|
|
+ /// - maxHeight: 最大高度
|
|
|
+ /// - Returns: 高度
|
|
|
+ func heightForComment(font: CGFloat, width: CGFloat, maxHeight: CGFloat) -> CGFloat {
|
|
|
+ let rect = NSString(string: self).boundingRect(with: CGSize(width: width, height: CGFloat(MAXFLOAT)), options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil)
|
|
|
+ return ceil(rect.height)>maxHeight ? maxHeight : ceil(rect.height)
|
|
|
+ }
|
|
|
}
|