我也遇到了问题。这让我很沮丧。经过一番考虑,我认为它可能是 tableview 的一个特性,它显示空白单元格。使用空白单元格的最后一个单元格高度是合理的。否则,选择使用什么高度?
我认为显示黑色单元格是不可接受的。如果你像我一样不喜欢这种风格,你可以试试这个去掉空白单元格:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
或者
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
//then add view for separator line by yourself
或者
UITableView *tableView = [[UITableView alloc] initWithFrame:self.tableView.frame style:UITableViewStyleGrouped];
tableView.backgroundColor = self.tableView.backgroundColor;
self.tableView = tableView;
如果您必须显示空白单元格并控制高度,也许这是添加额外单元格的最简单方法/解决方法。例如:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.dataArray == nil || self.dataArray.count == 0 ? 1 : self.dataArray + 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.count == self.dataArray.count){ //the last cell
cell = [[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
} else {
cell = .... //as uausal
}
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.count == self.dataArray.count){
return 50;
} else {
return xxx; //as usual
}
}
现在我们可以控制任何高度!
希望它可以帮助你。
您也可以参考链接:如何修改普通 UITableView 中“空”单元格的外观?