セルのUILabelの高さが変更できない
セルの高さが変わった時、そのセルの中にあるUILabel
の高さも変えようとしているのですが、どうやっても変更することができません。
セルの高さが変わる前のUILabel
には3行分の文字が表示されており、それ以上は...で隠れています。そして、セルの高さが変わると同時にUILabel
の全文を表示させようとしています。
detailText.lineBreakMode = UILineBreakModeWordWrap;
detailText.numberOfLines = 0;
上記のコードを実行すると、UILabel
の末尾にある...は消えるのですが、それ以上の文字が表示されません。なので、UILabel
の高さを変更しようとしてみるのですが、変更することができません。
以下に現在のコードを記します。どうすればセルのUILabel
の高さを変更することができるのでしょうか?どなたか分かる方がいればご教授いただきたいです。すみませんが、よろしくお願いします。
[UIView setAnimationsEnabled:NO];
[tableView beginUpdates];
detailText.lineBreakMode = UILineBreakModeWordWrap;
detailText.numberOfLines = 0;
CGRect cellHeight = detailText.frame;
cellHeight.size.height += 100;
detailText.frame = cellHeight;
[detailText setFrame:cellHeight];
[tableView endUpdates];
[UIView setAnimationsEnabled:YES];
---追記---
セルの高さの変更は以下のように行っています。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (isButtonClicked) {
if (indexPath.row == 0) {
return 200;
} else {
return 100;
}
} else {
return 100;
}
}