0108--/** * 根据最大尺寸和字体计算文字的实际尺寸 */
- .h
-
#import <UIKit/UIKit.h>
@interface NSString (Extension)
/**
* 根据最大尺寸和字体计算文字的实际尺寸
*/
- (CGSize) sizeWithMaxSize:(CGSize) maxSize andFont:(UIFont *) font;
@end
- .m
-
#import "NSString+Extension.h"
@implementation NSString (Extension)
- (CGSize)sizeWithMaxSize:(CGSize)maxSize andFont:(UIFont *)font
{
return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil].size;
}
@end
- 例子:
-
// 计算文本按钮的frame
// 先计算文本所占大小
CGFloat maxTextW = screenW - iconW - margin * 3 - textPadding * 2;
CGSize maxSize = CGSizeMake(maxTextW, CGFLOAT_MAX);
// 字体
CGSize textSize = [message.text sizeWithMaxSize:maxSize andFont:textFont];
- 2016 01 19
-
-(CGSize)checTheStringWithHight:(NSString *)theStr font:(float)font
{
// CGSize titleSize = [theStr sizeWithFont:[UIFont systemFontOfSize:font] constrainedToSize:CGSizeMake(SCREEN_WIDTH-40, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping];
//
//
// return titleSize;
CGSize sixx= [theStr boundingRectWithSize:CGSizeMake(SCREEN_WIDTH-40, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil].size;
return sixx;}
-