富文本/字符串大小计算

//MARK: - 通用方法
class ToolManager: NSObject {
    
    static let default_db = FMDatabase.init(path:NSHomeDirectory()+"/Documents/User.db")

    ///计算指定字符串的大小
    static func calculateStringSize(str:String,maxW:CGFloat,maxH:CGFloat,fontSize:CGFloat) -> CGSize{
        //1.将字符串转换成OC的字符串
        let ocStr = str as NSString
        //2.计算
        return ocStr.boundingRectWithSize(CGSizeMake(maxW, maxH), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName:UIFont.systemFontOfSize(fontSize)], context: nil).size
        
    }
    
    
    ///图文混排
    //NSAttributedString 富文本
    static func mixImageAndText(imageName:String,text:String)->NSAttributedString{
        //1.将图片转换成富文本
        let attach = NSTextAttachment.init()
        attach.image = UIImage.init(named: imageName)
        let imageAttr = NSAttributedString.init(attachment: attach)
        
        //2.将字符串转换成富文本
        let textAttr = NSAttributedString.init(string: text)
        
        //3.将图片富文本和文字富文本拼接成一个富文本
        //a.创建一个可变的富文本对象
        let mutableAttr = NSMutableAttributedString()
        //b.拼接
        mutableAttr.appendAttributedString(imageAttr)
        mutableAttr.appendAttributedString(textAttr)
        
        return mutableAttr
        
    }
}

你可能感兴趣的:(富文本/字符串大小计算)