一、去掉tableview的线条
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
二、取消cell的点击状态
+(instancetype)settingCellWithTableView:(UITableView *)tableview andIndexPath:(NSIndexPath *)indexPath{
static NSString *ID = @"OrderDetailTableViewCell";
OrderDetailTableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:ID];
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"OrderDetailTableViewCell" owner:nil options:nil] lastObject];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
三、回到tabelview的顶部
[self.tableView reloadData];
NSIndexPath * dayOne = [NSIndexPath indexPathForRow:0 inSection:0];// 若想滚动到指定位置 ,修改row和section的值即可
[self.tableView scrollToRowAtIndexPath:dayOne atScrollPosition:UITableViewScrollPositionTop animated:YES];
四、设置tabelview的偏移量
tableView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0);
五、设置cell自适应高度,使用masory布局
// tableview添加两行代码
_mainTabelView.estimatedRowHeight = 80; _mainTabelView.rowHeight = UITableViewAutomaticDimension
对cell中的控件添加约束,因为是自适应高度,所以我们在Y轴方向上,必须要添加三个约束,上,下,高度
[self.numTextField mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.cmLabel.mas_left).offset(- K_ScreenWidth/360 * 20);
make.width.mas_equalTo(K_ScreenWidth / 360 * 100);
make.height.mas_equalTo(36);
make.centerY.mas_equalTo(self.nameLabel.mas_centerY);
make.bottom.mas_equalTo(self).offset(-14);
}];
// 此处的self.nameLabel我在Y轴上给它设置的约束为上和控件的高度
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(60);
make.top.mas_equalTo(0);
make.height.mas_equalTo(36);
make.left.mas_equalTo(K_ScreenWidth/360*40);
}];
六、解决在iOS11版本下,继承自scrollview的tableview遮挡后自动偏移的问题
if (@available(iOS 11.0, *)) {
_mainTabelView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
// Fallback on earlier versions
}