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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章