//boundingRectWithSize 的使用, 根据label字数计算UILable高度, 包含Emoji及多属性string
-
(NSInteger)heightForChangeableLabel:(NSString *)text labelWidth:(NSInteger)labelWidth font:(UIFont *)font{
// [answerStr boundingRectWithSize:CGSizeMake(230, 0) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} context:nil]NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:text];
NSRange allRange = [text rangeOfString:text];
[attrStr addAttribute:NSFontAttributeName
value:font
range:allRange];
[attrStr addAttribute:NSForegroundColorAttributeName
value:[UIColor blackColor]
range:allRange];
// NSRange destRange = [text rangeOfString:text];
// [attrStr addAttribute:NSForegroundColorAttributeName
// value:HEXCOLOR(0x009cdd)
// range:destRange];
NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;
CGRect rect = [attrStr boundingRectWithSize:CGSizeMake(labelWidth, CGFLOAT_MAX) options:options context:nil];
return rect.size.height+2; //加两个像素,防止emoji被切掉.
}