2013-02-13 65 views
2

我遇到了一些UITextViews的问题。您可以选择更改我的应用中的字体大小,当您更改它时,它会重新加载内容并调整文本查看的大小,因为视图中有多个字体大小。我使用下面的代码来进行大小调整,但它有时会返回正确的高度,但是当我在应用程序中更改文本大小时,它似乎分解并返回不正确的高度,并且textviews中的文本正在切断底端。有人能帮我吗?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; 

我希望th是帮助,欢呼,吉姆。

相关问题