2013-02-13 3 views
2

У меня возникают некоторые проблемы с некоторыми UITextView. У вас есть возможность изменить размер шрифта в моем приложении, и при его изменении он перезагружает контент и изменяет размеры текстовых просмотров, поскольку в представлении есть несколько. Я использую приведенный ниже код для изменения размера, но иногда он возвращает правильную высоту, но по мере изменения размера текста в приложении он, кажется, разбивается и возвращает неправильные высоты, а текст в текстовых изображениях обрезается на дно. Кто-нибудь может мне помочь?sizeWithFont: constrainedToSize: lineBreakMode: не работает при изменении размера шрифта

int height = [tempTextView.text sizeWithFont: 
[UIFont fontWithName:fontFamily size:fontSizeF] 
constrainedToSize:CGSizeMake(300, 10000) lineBreakMode: 
NSLineBreakByWordWrapping].height; 

ответ

1

Я знаю, что это старый вопрос & поздно ответ, но он по-прежнему очень актуальна,

Этот метод sizeWithFont теперь осуждается, этот новый метод лучше всего работает

NSString *content = **Whatever your label's content is expected to be** 
CGSize maximumLabelSize = CGSizeMake(390, 1000); 

NSDictionary *stringAttributes = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:13] forKey: NSFontAttributeName]; 

CGSize newExpectedLabelSize = [content boundingRectWithSize:maximumLabelSize options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin attributes:stringAttributes context:nil].size; 

Таким образом, вы можете отрегулируйте свою метку (или ячейку таблицы и т. д.) до

label.frame.size.height = newExpectedLabelSize.height; 

Надеюсь, это помогает, ура, Джим.

Смежные вопросы