我有我的自定義UITableViewCell與UITextView中。 加載UITableView後,我需要調整UITableViewCell的大小與UITextView中的文本的大小。 所以我想這樣的:從UITableViewCell獲取大小UITextView?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
CGFloat resHeigth;
resHeigth = MyCell.textView.contentSize.height;
resHeigth += TOP_BOTTOM_MARGINS * 2;
return resHeigth;
}
但heightForRowAtIndexPath的cellForRowAtIndexPath,在那裏我居然設置文本之前調用。
MyViewCell *cell = (MyViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"MyCellView" owner:self options:nil];
cell = MyCell;
}
cell.textView.text = @"Text for test\nTest";
CGRect frame = cell.textView.frame;
frame.size.height = cell.textView.contentSize.height;
cell.textView.frame = frame;
所以,是否有可能改變UITableViewCell的高度?
此方法簡化版,工作校正的UITextView
將返回的文本的大小。它只適用於UILabel –
我認爲UITextView和UILabel之間沒有區別,前者有一個滾動容器。 sizeWithFont方法是通用的,你應該使用寬度確定的'sizeWithFont:forWidth:lineBreakMode:'方法。 –
請看看那個鏈接 http://stackoverflow.com/questions/2330939/sizewithfont-doesnt-give- 正確的高度爲uitextview如果有一個長字符串 我試過了但它不起作用 –