计算文本的高度
分两种情况,指定文本只有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 width:(CGFloat)width{ CGSize textSize = [text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil].size; return textSize; }
该方法可以用在自定义button内,用来计算text和image的位置
时间: 2024-08-29 15:04:12