1
我想自動調整表格單元格與自動佈局。但似乎TableView忽略高度限制。AutoLayout + UITableViewCell +高度(不工作)
我知道「tableView:heightForRowAtIndexPath:」可以做到這一點。
但是如何避免使用高度硬編碼? 有其他方法嗎?
屏幕截圖1:
屏幕截圖2:
我想自動調整表格單元格與自動佈局。但似乎TableView忽略高度限制。AutoLayout + UITableViewCell +高度(不工作)
我知道「tableView:heightForRowAtIndexPath:」可以做到這一點。
但是如何避免使用高度硬編碼? 有其他方法嗎?
屏幕截圖1:
屏幕截圖2:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
static UITableViewCell *cell;
if (cell == nil) {
cell = [tableView dequeueReusableCellWithIdentifier: @"YourCell"];
}
[self configureCell:cell forIndexPath:indexPath]; // making text assignment and so on
return [cell.contentView systemLayoutSizeFittingSize: UILayoutFittingCompressedSize].height + 1.0f;
}
有趣的解決方案和它的工作。 – RuslTG
這通常是一個非常糟糕的主意。 'tableView:heightForRowAtIndexPath:'爲tableView中的每一行調用。如果tableView中有多個單元格,將會對性能產生巨大影響。 –
Matthias Bauch,這個解決方案剛剛改變了單元格創建的順序。它不是在「tableView:cellForRowAtIndexPath:」中創建單元格,而是在「tableView:heightForRowAtIndexPath:」中創建單元格,並在「tableView:cellForRowAtIndexPath:」中重用。所以沒什麼可擔心的。 – RuslTG