实际上是根据内容计算tablviewCell.Height。所以我使用 SystemLayoutFittingSize Api。因为我需要支持iOS7.0。甚至我尝试使用UIAutomaticDimension来处理> 8.0
实际上PriceLabel对我来说是第一优先。基于PriceLabel内容。 BrownLabel内容应该自动调整。为此,我使用 ContentCompressionResistancePriority.Horizontal = 1000 作为PriceLabel和width(51 @ 999)。 中间调整正常。但内容不清晰。对于BrownLabel:PreferredWidth = 203且Height> = 31 i。
以下UITableviewCellHeight计算代码:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// Calculate a height based on a cell
if(!self.customCell) {
self.customCell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
}
// Configure the cell
NSDictionary *sourceDictionary = self.dataSource[indexPath.row];
[self.customCell feedInfo:sourceDictionary];
// Get the height for the cell
CGFloat height = [self.customCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
// Padding of 1 point (cell separator)
CGFloat separatorHeight = 1;
NSLog(@"Height: %f",height+separatorHeight);
return height + separatorHeight;}