这是.h里的代码
#import <UIKit/UIKit.h>
@interface NSString (size)
- (CGSize)sizeOfStringWithFont:(UIFont *)font width:(CGFloat)width;
- (CGSize)sizeOfStringWithFont:(UIFont *)font height:(CGFloat)height;
- (CGSize)sizeOfStringWithFont:(UIFont *)font width:(CGFloat)width limitlines:(NSInteger)limitlines;
+ (CGSize)sizeOfStringWithFont:(UIFont *)font;
@end
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
.m里边的代码
#import "NSString+size.h"
@implementation NSString (size)
- (CGSize)sizeOfStringWithFont:(UIFont *)font width:(CGFloat)width limitlines:(NSInteger)limitlines
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, CGFLOAT_MAX)];
label.numberOfLines = limitlines;
label.font = font;
label.text = self;
[label sizeToFit];
return label.bounds.size;
}
- (CGSize)sizeOfStringWithFont:(UIFont *)font height:(CGFloat)height
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, MAXFLOAT, height)];
label.numberOfLines = 0;
label.font = font;
label.text = self;
[label sizeToFit];
return label.bounds.size;
}
- (CGSize)sizeOfStringWithFont:(UIFont *)font width:(CGFloat)width
{
return [self sizeOfStringWithFont:font width:width limitlines:0];
}
+ (CGSize)sizeOfStringWithFont:(UIFont *)font
{
NSString *text = @"近";
CGSize size = [text sizeOfStringWithFont:font width:CGFLOAT_MAX];
return size;
}
@end
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NSString *string = model.desc;
CGSize aSize = [string sizeOfStringWithFont:[UIFont systemFontOfSize:TEXTFONT] width:kScreenWidth - 20];
CGFloat titleHeight = aSize.height;
//问题描述frame
self.descriptionLable.frame = CGRectMake(10, 10, kScreenWidth - 20, titleHeight);
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------