
圖片來源網(wǎng)絡(luò).jpg
iOS 11之后 heightForHeaderInSection的方法設(shè)置后不生效
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (section == 1) {
return 10;
}
return 0;
}
解決方案:
self.tableView.estimatedSectionHeaderHeight = 0;
heightForFooterInSection設(shè)置后不生效
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
if (section == 1) {
return 10;
}
return 0;
}
解決方案:
self.tableView.estimatedSectionFooterHeight = 0;
TableCell使用純代碼寫的布局,不自動適應(yīng)布局的問題,需要在填充數(shù)據(jù)的時(shí)候調(diào)用
[self layoutIfNeeded];
- (void)fillViewWithAddress:(NSString *)address {
[self layoutIfNeeded];
if (!IS_VALID_STRING(address)) {
self.labelAddress.text = @"選擇收貨地址";
} else {
self.labelAddress.text = address;
}
}
TableCell純代碼布局,布局約束寫在
- (void)layoutSubviews中
- (void)layoutSubviews {
[super layoutSubviews];
[self.labelAddress mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.trailing.equalTo(self);
make.leading.equalTo(self).offset(10);
make.bottom.equalTo(self).priorityLow();//將底部的約束priority設(shè)置成低優(yōu)先級
make.height.equalTo(@(44));
}];
}