4

UITextViewすべてのテキストがフレーム内に収まる場合でもスクロールします。テキストの下部に 2 つの新しい行があるかのようにスクロールしますが、そうではありません。そのcontentSize.heightため、テキストよりも数行大きいようです。どうすればこれを取り除くことができますか? つまり、コンテンツのサイズを引き締めるにはどうすればよいですか?

4

2 に答える 2

0

そのUITextViewのcontentSizeを設定して、テキストに引き締めることができます。

sizeWithFont ...という名前のNSStringメソッドを利用できます。完全なリストはここで確認できます:http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html

私はそれらのいくつかで動作するいくつかの問題に気づきましたが、私を決して失敗させないものは次のとおりです:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

幅が固定されていて、正しい高さを知りたいと思います。固定の200px幅を考えると、次のようになります。

NSString *myText = @"Some text...";
CGSize tightContentSize = [mytext sizeWithFont:[UIFont fontWithName:@"Helvetica" size:12] constrainedToSize:CGSizeMake(200, 10000000)].height;

[myTextView setContentSize:tightContentSize];

UITextViewにはすべての方向に8pxのパディングがあることを考慮してください。したがって、UITextViewフレームの幅が200の場合、実際にはテキストの幅は184pxになります。

于 2013-02-21T00:44:26.103 に答える