zoukankan      html  css  js  c++  java
  • swift-自动计算字符串的宽高

    写一个方法来继承String

    //自动控制文字换行及宽度

    extension String {

        func textSizeWithFont(font: UIFont, constrainedToSize size:CGSize) -> CGSize {

            var textSize:CGSize!

            if CGSizeEqualToSize(size, CGSizeZero) {

                let attributes = NSDictionary(object: font, forKey: NSFontAttributeName)

                textSize = self.sizeWithAttributes(attributes as! [String : AnyObject] as [String : AnyObject])

            } else {

                let option = NSStringDrawingOptions.UsesLineFragmentOrigin

                let attributes = NSDictionary(object: font, forKey: NSFontAttributeName)

                let stringRect = self.boundingRectWithSize(size, options: option, attributes: attributes as! [String : AnyObject] as [String : AnyObject], context: nil)

                textSize = stringRect.size

            }

            return textSize

        }

    }

    用法:

       let projectText="我是一段字符串,来计算我的高度吧";

            let projectSize=projectText.textSizeWithFont(UIFont.systemFontOfSize(14), constrainedToSize:CGSizeMake(100, 200))

            let comProjectW:CGFloat=projectSize.width;

            let comProjectH:CGFloat=projectSize.height;

      //记得要在计算的字符串UILable中加上

      UIlable.font=UIFont.systemFontOfSize(14);

      //显示几行

         UIlable.numberOfLines=1;

      

      UIlable.frame = CGRectMake(50, 50, comProjectW, comProjectH);

     

     

     

     

  • 相关阅读:
    Json概述以及python对json的相关操作
    tcpdump学习(2):基本使用
    tcpdump学习(1):安装
    mysql的expain(zz)
    ubuntu下使用mysql的一点笔记
    mysql的mysqladmin的用法
    mysql的一些工具(系统自带)
    django 分页django-pure-pagination(zz)
    mysql之any,some all(zz)
    Docker Ubuntu容器安装ping(zz)
  • 原文地址:https://www.cnblogs.com/brance/p/JuniorRookie.html
Copyright © 2011-2022 走看看