lable用的是[lb44.text boundingRectWithSize:CGSizeMake(kWindowW-20*KB5HEIGHT, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:lb44.font,NSFontAttributeName, nil] context:nil];方法

求大神告訴我下
uj5u.com熱心網友回復:
你有高度自己適應?我都不會+(CGSize)caluteStr:(NSString *)str Si:(CGSize)si fon:(CGFloat)font{
return [str boundingRectWithSize:si options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil].size;
}
uj5u.com熱心網友回復:
我就是用的這個方法,再計算完高度后重新讓lable的fame改變。但發現lable的上下有內邊距,而且lable里內容的行數越多,內邊距越大,大哥知道是什么問題嗎?uj5u.com熱心網友回復:
我就是用的這個方法,再計算完高度后重新讓lable的fame改變。但發現lable的上下有內邊距,而且lable里內容的行數越多,內邊距越大,大哥知道是什么問題嗎?uj5u.com熱心網友回復:
最后加上[lb44 sizeToFit];uj5u.com熱心網友回復:
應該是你的用于計算的寬度和實際設定 給 label 的寬度不一致uj5u.com熱心網友回復:
NSStringDrawingOptions opts = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
[style setLineBreakMode:NSLineBreakByCharWrapping];
NSDictionary *attributes = @{ NSFontAttributeName : [UIFont systemFontOfSize:18], NSParagraphStyleAttributeName : style };
CGRect rect = [string boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:opts attributes:attributes context:nil];
LineBreakMode屬性和字號要一致, width寬度固定的
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/27218.html
標籤:iOS
下一篇:小程式tabBar錯誤
