// // NSString+ex.m // LNManager // // Created by EchoShacolee on 2017/4/6. // Copyright © 2017年 lee. All rights reserved. // #import "NSString+ex.h" #import @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