2

一部の UITextView で問題が発生しています。私のアプリでフォントサイズを変更するオプションがあり、変更すると、ビューに複数のテキストビューがあるため、コンテンツがリロードされ、テキストビューのサイズが変更されます。以下のコードを使用してサイズ変更を行っていますが、正しい高さを返すことがありますが、アプリでテキストサイズを変更すると、壊れて間違った高さを返すようで、テキストビューのテキストが途切れていますボトム。誰かが私を助けることができますか?

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

1 に答える 1

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;

これがお役に立てば幸いです、乾杯、ジム。

于 2014-01-26T10:51:08.777 に答える