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);

     

     

     

     

  • 相关阅读:
    2017-5-25 母版页
    2017-5-25 分页加条件查询合体
    2017-5-23 WebForm 中的分页功能和条件查询功能
    2017-5-17 WebForm 基础
    2017-5-14 心情
    2017-5-10 小型人员管理系统
    2017-5-9 打开唯一窗体的实例操作
    2017-5-8 TreeView 实现三级联动 (递归方法)
    2017-5-7 三级联动数据库 数据保存
    2017-5-7 三级联动
  • 原文地址:https://www.cnblogs.com/brance/p/JuniorRookie.html
Copyright © 2011-2022 走看看