当我设置一个有4行的表格视图时,在填充行的下面仍然有额外的分隔行(或额外的空白单元格)。
如何移除这些单元格?
当我设置一个有4行的表格视图时,在填充行的下面仍然有额外的分隔行(或额外的空白单元格)。
如何移除这些单元格?
当前回答
Swift适用于:
tableView.tableFooterView = UIView()
其他回答
在Swift中移除UITableView中空行的额外分隔行
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.yourTableview.tableFooterView = UIView()
}
我想扩展一下我的回答:
简单地添加高度为0的页脚就可以了。(在SDK 4.2, 4.4.1上测试)
- (void) addFooter
{
UIView *v = [[UIView alloc] initWithFrame:CGRectZero];
[self.myTableView setTableFooterView:v];
}
或者更简单——在你设置tableview的地方,添加这一行:
//change height value if extra space is needed at the bottom.
[_tableView setTableFooterView:[[UIView alloc] initWithFrame:CGRectMake(0,0,0,0)]];
或者更简单——简单地删除任何分隔符:
[_tableView setTableFooterView:[UIView new]];
再次感谢wkw:)
如果你只有一个部分,那么最快最简单的方法就是将表格视图样式从“普通”设置为“分组”。(见图片)
如果你有更多的部分,你可能需要将标题高度设置为0(这取决于你/你的客户/你的项目经理的口味)
如果你有更多的部分,并且不想弄乱页眉(即使在最简单的情况下它只是一行),那么你需要设置一个UIView作为页脚,正如它在前面的回答中解释的那样)
只需添加这个代码(Swift)。
tableView.tableFooterView = UIView()
如果你在你的视图中有一个搜索栏(例如限制结果的数量),你还必须在shouldReloadTableForSearchString和shouldReloadTableForSearchScope中添加以下内容:
controller.searchResultsTable.footerView = [ [ UIView alloc ] initWithFrame:CGRectZero ];