关闭

计算字符长度

200人阅读 评论(0) 收藏 举报
分类:

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

@interface CustomSize : NSObject


+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font;

+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize;

+ (CGFloat)adaptionHeight:(NSString *)str

                          size:(CGFloat)number

                         width:(CGFloat)width;


+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font;

@end

#import "CustomSize.h"


@implementation CustomSize


#pragma mark---获取字符串的长度

+ (CGSize)returnSize:(NSString *)str fontSize:(CGFloat)fontSize{

    UIFont *font = [UIFont systemFontOfSize:fontSize];

    return [CustomSize returnSize:str font:font];

}


+ (CGSize)returnSize:(NSString *)str font:(UIFont *)font{

    

    CGSize size = [str sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];

    return size;

}

//根据文字大小自动生成height

#pragma mark---根据文字大小自动生成height

+ (CGFloat)adaptionHeight:(NSString *)str

                          size:(CGFloat)number

                         width:(CGFloat)width{

    NSDictionary *infoTextDic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:number],NSFontAttributeName, nil];

    CGRect infoTextRect = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine attributes:infoTextDic context:nil];

    CGFloat heingt = infoTextRect.size.height;

    return heingt;

}

+ (CGFloat)heightForText:(NSString *)text andFontSize:(UIFont *)font

{

    //设置计算文本时字体的大小,以什么标准来计算

    NSDictionary *attrbute = @{NSFontAttributeName:font};

    return [text boundingRectWithSize:CGSizeMake(ScreenWidth, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrbute context:nil].size.height;

}


@end



0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24088次
    • 积分:911
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:53篇
    • 译文:0篇
    • 评论:0条