我一直在使用自動佈局來確定我的一個表格中的heightForRowAtIndexPath
。它適用於除我之外的所有細胞。任何想法我應該尋找解決問題?Autolayout單元格高度不適用於單個單元格
這是HILargeMessageImageCell
它沒有正確返回高度。現在它返回0。下面的代碼:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell * cell;
if(indexPath.row == 0)
{
if(self.message.image)
{
cell = [tableView dequeueReusableCellWithIdentifier:@"HILargeMessageImageCell"];
[(HILargeMessageImageCell *)cell initWithMessage:self.message];
}else{
cell = [tableView dequeueReusableCellWithIdentifier:@"HILargeMessageCell"];
[(HILargeMessageCell *)cell initWithMessage:self.message];
}
}
else
{
cell = [tableView dequeueReusableCellWithIdentifier:@"HIChildMessageCell"];
[(HIChildMessageCell *)cell initWithMessage:[self.comments objectAtIndex:indexPath.row-1]];
}
cell.bounds = CGRectMake(0.0f,0.0f, CGRectGetWidth(self.tableView.bounds), CGRectGetHeight(cell.bounds));
[cell setNeedsLayout];
[cell layoutIfNeeded];
CGFloat height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
NSLog(@"HEight is: %f",height);
return height + 1.0f; // Add 1.0 for the cell spacer
}
我在界面生成器中做了約束 –
我刪除了單元並重新編譯它,並且所有工作都重新開始。誰知道發生了什麼事! –
我敢打賭,你的約束在IB中搞砸了,你的細胞高度實際上是0. – ansible