私の場合、含まUITableViewCell
れる a の高さに合わせてa のサイズを変更するにはどうすればよいUITextView
ですか?
私は現在、次のコードを使用してこれを達成しようとしています:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// init the font that we use
UIFont *font = [UIFont fontWithName:@"SourceSansPro-Regular" size:16];
if (indexPath.section == 0) {
// get the text size of the thread
CGSize textSize = [_thread.text sizeWithFont:font constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
return textSize.height + 20;
}
// default
return 60;
}
UITableViewCell
このメソッドで にアクセスできれば、そのcontentSize
プロパティを使用UITextView
してそれを返すことができると思います。しかし、実行フローのこの時点ではそれが可能だとは思いません。
get size 関数によって返されるテキスト サイズに合わせてスケーリングされないため、そのバッファーを微調整することはできません。テキストが短いほど、より大きなバッファ サイズがより明確になります。
これは の高さを調整していますが、内部がUITableViewCell
すべて表示されているわけではありません。メソッドでのUITextView
幅を指定しました。定数を使用して、必要なだけワードラップできるように、本質的に最大の高さを持たないようにしたいと指定しました。myの の上にユニット バッファーがあり、その下にもユニット バッファーが必要なため、メソッド呼び出しの結果の高さにユニットのバッファーを追加します。UITextView
sizeWithFont:constrainedToSize:lineBreakMode:
280
CGFLOAT_MAX
20
20
UITextView
Storyboard
20
ただし、これらすべての最終結果には、まだテキストが切り取られています。これが私が話していることの写真です:
何か案は?