微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift 根据字符串数量动态计算行高)(>=iOS7.0)

//MARK: - 动态 计算行高,根据字符串的实际内容的多少 在固定的宽度和字体的大小,动态的计算出实际的高度
    func textHeightFromTextString(text: String,textWidth: CGFloat,fontSize: CGFloat,isBold: Bool) -> CGFloat
    {
        
        if (getCurrentIOS() >= 7.0)
        {
            //iOS7之后
            var dict: NSDictionary = NSDictionary()
            if (isBold) {
                dict = NSDictionary(object: UIFont.boldSystemFontOfSize(fontSize),forKey: NSFontAttributeName)

            } else {
                dict = NSDictionary(object: UIFont.systemFontOfSize(fontSize),forKey: NSFontAttributeName)

            }
            
            let rect: CGRect = (text as Nsstring).boundingRectWithSize(CGSizeMake(textWidth,CGFloat(MAXFLOAT)),options: [NsstringDrawingOptions.TruncatesLastVisibleLine,NsstringDrawingOptions.UsesFontLeading,NsstringDrawingOptions.UsesLineFragmentOrigin],attributes: dict as? [String : AnyObject],context: nil)
            return rect.size.height
        } else
        {
            //iOS7之前
            
            
            return 0.0
        }
        
    }
  //MARK: - 获取版本号
    func getCurrentIOS() -> Double
    {
        
        return (UIDevice.currentDevice().systemVersion as Nsstring).doubleValue

    }
 //改变对应frame

        var frame = self.titleLab!.frame
        frame.size.height = textHeightFromTextString(model.title!,textWidth: self.titleLab!.frame.size.width,fontSize: 19,isBold: true)
        self.titleLab!.frame = frame

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐