有了autolayout,咱們徹底能夠用xib去佈局cell上的子空間,不用再去寫冗餘的建立代碼及frame模型。佈局
本身僅僅須要作的是:拿到cell最下面固定的子控件(一直存在),在返回高度的方法中,寫以下代碼便可it
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
HomePageCell *cell = [tableView dequeueReusableCellWithIdentifier:kHomePageCell];
HomePageCellModel *model = self.dataList[indexPath.row];
cell.homePageCellModel = model;
[cell layoutIfNeeded];
return cell.locationContainer.y + cell.locationContainer.height + 13 + 13;
}io
使用注意:若是label是多行的必定要設置preferredMaxLayoutWidth,若是存在多個多行label,都要設置,這樣才能獲得正確的佈局table