计算文本的高度
分两种情况,指定文本只有1行和多行,可以写方法返回字符串的size,options通常使用NSStringDrawingUsesLineFragmentOrigin,这样整个文本将以单行文本的矩形来计算整个文本高度
①文字显示一行
-(CGSize)sizeOneLineText:(NSString *)text font:(UIFont *)font{
CGSize textSize = [text boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:font}
context:nil].size;
return textSize;
}
②文字显示多行,需要指定文字宽度
-(CGSize)sizeMultiLineText:(NSString *)text font:(UIFont *)font (CGFloat)width{
CGSize textSize = [text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:font}
context:nil].size;
return textSize;
}
该方法可以用在自定义button内,用来计算text和image的位置