首页 > 代码库 > 计算一段文字内容的size+系统版本判断
计算一段文字内容的size+系统版本判断
注:IOS7弃用sizeWithFont和sizeWithFont:constrainedToSize:lineBreakMode:方法
1.计算一行text内容的size
CGSize timeSize;
if (isIOS7Height) { timeSize = [_timeLabel.text sizeWithAttributes:@{NSFontAttributeName:kNameFont}];} else { timeSize = [_timeLabel.text sizeWithFont:kNameFont]; // IOS7不推荐使用该方法}
2.限定宽度,计算一段长内容(如正文)的size
CGSize contentSize;
CGFloat contentWidth = 200; // 限定正文的最大宽度
UIFont contentFont = [UIFont systemFontOfSize:16]; // 字体大小if (isIOS7OrHeight) { NSDictionary *attrib = @{NSFontAttributeName: contentFont};
// MAXFLOAT(值很大)为最大的高度,可以认为高度不限 contentSize = [_dataDict[@"content"] boundingRectWithSize:CGSizeMake(contentWidth, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrib context:nil].size; } else { contentSize = [_dataDict[@"content"] sizeWithFont:kContentFont constrainedToSize:CGSizeMake(contentWidth, MAXFLOAT)];// IOS7不推荐使用该方法}
补充:IOS系统版本的判断
CGFloat version = [[[UIDevice currentDevice] systemVersion] floatValue];NSLog(@"%f", version);if (version >= 7.0) { NSLog(@"ios7.0以上版本");}
还有另一种较为直接的方法是
#define kIsIOS7Later NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1
不过这种方法就没那么准确,因为NSFoundationVersionNumber的数值是有限的
计算一段文字内容的size+系统版本判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。