我有一个UITableView,其中的单元格包含来自服务器响应的数据,这意味着并非每次所有单元格都显示数据。所以我需要删除那些"空"我已经搜索过,找不到任何可能的解决方案。来自How to remove empty cells in UITableView?的解决方案没有成功。实际上它使我的桌面视图消失了。
除了添加页脚视图之外,我还需要其他解决方案。有没有?
答案 0 :(得分:8)
您应该检查来自服务器的数据,并且只将非零数据添加到tableview数据源。
之后重新加载你的桌面视图。
这样你的tableview就没有任何空单元格。简单。
如果您的问题是显示的单元格数量没有填满您的视图
你可以尝试
tableview.tableFooterView = UIView()
答案 1 :(得分:4)
您可以使用这两种方法中的一种。
1. self.tableView.tableFooterView.frame = CGRectZero;
2. self.tableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
答案 2 :(得分:1)
试试这个
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
return [[UIView alloc]init];
}
答案 3 :(得分:1)
答案 4 :(得分:0)
我希望您通过cell
在array
中添加数据。因此,只有在从服务器接收数据时才在数组中添加数据。如果您没有从服务器接收数据,请不要添加任何内容。并返回numberOfRows
您array
的计数。
答案 5 :(得分:0)
删除tableview底部的空单元格
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
或使用此
self.tableView.tableFooterView = UIView()
答案 6 :(得分:0)
你也可以从笔尖那里做到。
来自消息来源:
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 0.01f;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
return [UIView new];
}