计算字符长度

原创 2015年11月18日 19:32:10

#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



相关文章推荐

计算中英文字符长度

  • 2012年09月24日 10:31
  • 26KB
  • 下载

计算字符串长度(关于日文字符) 正则表达式

项目要求: 计算一个字符串的长度(对日项目VB.NET) 以前的代码找不到了只能自己写一下了(找到了别人的代码觉得有点麻烦,没用) String.prototype.isBytes = f...
  • ldp365
  • ldp365
  • 2014年07月09日 09:33
  • 644

计算字符长度

  • 2014年06月27日 21:15
  • 1.1MB
  • 下载

扩展TextField,合理计算中文字符长度(转)

本文转自http://l4cd.net/blog/post-old-139.html, 如需转载或引用请标明作者和出处。//Copyright © 2009. Http://L4cd.Net All ...

Android EditTexit设置最大长度 中文按2个字符计算

EditTexit限制字符长度大家都用过通常做法分2种:一种是在xml里给EditTexit设置maxLength属性,一种是在代码中添加过滤器LengthFilter,其实这两种方式最终都是通过设置...

ThinkSNS+如何计算字符显示长度?【社交系统研发日记五】

今天我们来聊一下可能很多人都会头疼的东西:显示长度。 需求是这样的,在字符的显示上,两个英文单词才占一个中文或者其他语言的显示长度。如下: 上面排的是两个英文字母,一个汉字,一...

Foundation_NSString_计算字符长度和个数

1.计算字符串的长度 (int)textLength:(NSString *)text//计算字符串长度 { float number = 0.0; for (int index = 0; in...

字符长度计算和长度截取显示

  • 2012年09月21日 10:25
  • 3KB
  • 下载

Java String类型含普通字符以及中文字符,计算等价的中文字符串长度

/* 获取中文字符串的长度 我的12 = 3 我的1 = 3 我的123456 = 5 */ public int getChineseStrLen(String s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算字符长度
举报原因:
原因补充:

(最多只允许输入30个字)