在开发中一般我们都会遇到做不同机型的适配而有些文字,设计的比较长,那么我们就需要将这些字体换行显示。
这里直接贴上两个类目的方法,以便开发需要,可以直接拿去使用。
- (CGSize)sizeWithFont:(UIFont *)font maxH:(CGFloat)maxH {
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = font;
CGSize maxSize = CGSizeMake(MAXFLOAT, maxH);
return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
- (CGSize)sizeWithFont:(UIFont *)font maxW:(CGFloat)maxW {
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = font;
CGSize maxSize = CGSizeMake(maxW, MAXFLOAT);
return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}