计算字符长度

部署运行你感兴趣的模型镜像

#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



您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值