ステップ 1 - これは正常に動作しています
カスタム UITableViewCells をロードする UITableView があります
ステップ 2 - これはちょっとした作業です
UITableViewCell の高さを変更して、UITextView 内のセルに含まれるすべてのデータが表示されるようにします
次のコードを使用して、UItextView データを取得し、サイズを変更しました。
UITextView *dummy = [[UITextView alloc] init];
dummy.font = [UIFont systemFontOfSize:14];
dummy.text = cell.textView.text;
CGSize newSize = [dummy sizeThatFits:CGSizeMake(270.0f, 500.0f)];
//get the textView frame and change it's size
CGRect newFrame = cell.textView.frame;
newFrame.size = CGSizeMake(270.0f, fmaxf(newSize.height, 60));
cell.textView.frame = newFrame;
//resize the cell view I add +95 because my cell has borders and other stuff...
CGRect cellFrame = CGRectMake(0, 0, 320, newFrame.size.height+95);
cell.cellView.frame = cellFrame;
次に、デリゲート関数 heightForRowAtIndexPath を使用して UITableViewCell の高さを設定します。
コードを実行して表のセルを上下にスクロールすると、動作が常に期待どおりになるとは限りません...つまり、セルのサイズが常に正しいサイズであるとは限りませんが、上下にスクロールすると、右にロードされることがありますサイズをもう一度。おそらく dequeueReusableCellWithIdentifier が問題だと考えています
cellIdentifier = @"tableCell";
ctTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
同じ識別子でサイズの異なるセルをリサイクルしているので...
この問題を解決するための最善の方法について、誰かがガイドラインを教えてもらえますか?
ありがとう!!!