zoukankan      html  css  js  c++  java
  • 计算字符串高度 iOS

    公共类.h里

    /** 返回自适应高度的文本 */

    + (CGSize)sizeWithString:(NSString *)string font:(CGFloat)font maxWidth:(CGFloat)maxWidth;

    /** 返回自适应宽度的文本 */

    + (CGSize)sizeWithString:(NSString *)string font:(CGFloat)font maxHeight:(CGFloat)maxHeight;

     

    公共类.m里

    /** 返回自适应高度的文本 */

    + (CGSize)sizeWithString:(NSString *)string font:(CGFloat)font maxWidth:(CGFloat)maxWidth

    {

        NSDictionary *attributesDict = @{NSFontAttributeName:FONT(font)};

        CGSize maxSize = CGSizeMake(maxWidth, MAXFLOAT);

        CGRect subviewRect = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributesDict context:nil];

        return subviewRect.size;

    }

     

    /** 返回自适应宽度的文本 */

    + (CGSize)sizeWithString:(NSString *)string font:(CGFloat)font maxHeight:(CGFloat)maxHeight

    {

        NSDictionary *attributesDict = @{NSFontAttributeName:FONT(font)};

        CGSize maxSize = CGSizeMake(MAXFLOAT, maxHeight);

        CGRect subviewRect = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributesDict context:nil];

        return subviewRect.size;

    }

     

    调用:(宽度是100 字体是15号 求高度)

        CGSize aLabelsize = [ApplictionUtil sizeWithString:aLabel.text font:15 maxWidth:100];

        aLabel.height = aLabelsize.height;

  • 相关阅读:
    方法
    逻辑运算符/三元运算符/Scanner
    多线程线程状态和案例演示
    实现多线程的两种方式
    初识多线程
    IO流一些问题的总结
    IO流—其他流
    厦门Android开发三年,工资不到1w,敢问路在何方?
    二本渣渣考研失败,幸得知乎内推,成功拿下Android开发offer!
    2020Android面试心得,已拿到offer
  • 原文地址:https://www.cnblogs.com/huangzs/p/4541067.html
Copyright © 2011-2022 走看看