0

私のアプリケーションでは、テキストを含むテキストビュー内に正確な領域 (高さと幅) を保存する必要があります。

幅300の UITextView があります。ここで、ユーザーが TextView の幅の150 、つまり50%までしか埋められないテキストを書き留めたとします。300ではなく150のみを保存したい、つまり、テキストを含まない textview の冗長部分を除外する必要があります。

ただし、textview.contentSize.heightを使用して正確な高さを取得できました。しかし、textview.contentSize.widthでは適切な結果が得られません

助言がありますか????

4

2 に答える 2

2

UITextView の境界内でテキストのサイズを計算する必要があります。

CGSize textSize = [@"Some text" sizeWithFont:[UIFont boldSystemFontOfSize:12] forWidth:CGRectGetWidth(textView) lineBreakMode:UILineBreakModeCharacterWrap];

ここから、textSize.height プロパティを使用して UITextView の高さを設定できます。

forWidth:UITextView の内容に合わせてフォント サイズとサイズを微調整する必要がある場合がありますが、これで作業を開始できます。

于 2012-08-08T15:11:31.453 に答える
0

これは私の作業コードから直接来ています:

//Make the textView as big as needed for it to fit the message body
CGSize stringSize = [m.msg_body sizeWithFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:13]
                           constrainedToSize:CGSizeMake(self.view.frame.size.width, 9999) 
                               lineBreakMode:UILineBreakModeWordWrap];

messageTextView.frame = CGRectMake(0, 0, stringSize.width, stringSize.height + 10);
于 2012-08-08T15:53:54.543 に答える