Я пытаюсь получить высоту метки в зависимости от длины текста. Но если слово не может вписаться в одну строку - часть слова переносится на следующую строку. И метод возвращает высоту только одной строки. Может кто-нибудь мне помочь ?Неверная высота метки
- (CGFloat)heightFromText:(NSString *)text{
if (!text) {
return 0.0;
}
UIFont *font = [UIFont systemFontOfSize:16.0];
UIColor *color = [UIColor colorWithColorCode:@"438fbe"];
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle alloc];
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
NSDictionary *attributes = @{NSForegroundColorAttributeName : color, NSFontAttributeName : font, NSParagraphStyleAttributeName : paragraphStyle};
NSAttributedString *attributed = [[NSAttributedString alloc] initWithString:text attributes:attributes];
CGRect needed = [attributed boundingRectWithSize:CGSizeMake(self.width, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil];
CGFloat textHeight = ceilf(needed.size.height);
return textHeight;
}
И так, что высота указана при создании этикетки? 0,0? – MacUser
не имеет значения - 0 должно быть в порядке – dijipiji