IOS学习 对应IOS8计算文字范围

知识补充:MAXFLOATCGFLOAT_MAX

MAXFLOAT是最大的float

CGFLOAT_MAX32位上最大的float  64位上最大的double



IOS8计算文字CGSize:

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];

        paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;

        CGSize rect = [str boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName,paragraphStyle,NSParagraphStyleAttributeName, nil] context:nil].size;


IOS7计算文字CGSize:

        CGSize rect = [str sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByCharWrapping];


- (CGSize)drawAtPoint:(CGPoint)point withFont:(UIFont *)font NS_DEPRECATED_IOS(2_0, 7_0, "Use -drawAtPoint:withAttributes:");

- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode  NS_DEPRECATED_IOS(2_0, 7_0, "Use -drawInRect:withAttributes:");

drawAtPoint中的CGPoint组成drawInRect的CGRect,forWidth为size.weight,通常高就用CGFLOAT_MAX32

具体Attributes的使用请看上一篇文章


发布了17 篇原创文章 · 获赞 5 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章