123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //
- // NSString+ex.m
- // LNManager
- //
- // Created by EchoShacolee on 2017/4/6.
- // Copyright © 2017年 lee. All rights reserved.
- //
- #import "NSString+ex.h"
- #import<CommonCrypto/CommonDigest.h>
- @implementation NSString (ex)
- - (NSString *)md5Encrypt
- {
- const char *cStr = [self UTF8String];
- unsigned char result[16];
- CC_MD5( cStr, (unsigned int)strlen(cStr), result );
- NSString* str = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
- result[0], result[1], result[2], result[3],
- result[4], result[5], result[6], result[7],
- result[8], result[9], result[10], result[11],
- result[12], result[13], result[14], result[15]
- ];
- str = [str lowercaseString];
- return str;
- }
- -(CGFloat)heightForWid:(CGFloat)wid Font:(CGFloat)fontSize
- {
- if (self.length == 0) {
- return 0;
- }
- //NSStringDrawingUsesFontLeading这个参数是计算多行文本时用的参数
- CGRect rect = [self boundingRectWithSize:CGSizeMake(wid, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:fontSize]} context:nil];
- //由于计算出来的值比实际需要的值略小,故需要对其向上取整
- double height = ceil(rect.size.height);
- return height;
-
- }
- -(CGFloat)widthForFont:(CGFloat)fontSize
- {
- return [self boundingRectWithSize:CGSizeMake(MAXFLOAT, 20) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont scaleSize:fontSize]} context:nil].size.width;
- }
- @end
|