这个问题在这里已有答案:
当使用具有足够大的单元格的普通样式 UITableView
时 UITableView
无法在不滚动的情况下显示它们,单元格下方的空白区域中不会出现分隔符 . 如果我只有几个单元格,则它们下面的空白区域包含分隔符 .
有没有办法可以强制 UITableView
删除空白区域中的分隔符?如果不是,我将不得不加载自定义背景,并为每个单元格绘制一个分隔符,这将使其更难继承行为 .
我发现了一个类似的问题here,但我不能在我的实现中使用分组 UITableView
.
10 回答
您可以通过为tableview定义页脚来实现所需的功能 . 有关详细信息,请参阅此答案:Eliminate Extra separators below UITableView
适用于iOS 7. *和iOS 6.1
最简单的方法是设置
tableFooterView
属性:对于以前的版本
你可以将它添加到你的TableViewController(这将适用于任意数量的部分):
和 if it is not enough ,添加以下代码 too :
对于Swift:
使用Daniel的链接,我做了一个扩展,使它更有用:
经过一些测试,我发现大小可以是0,它也可以 . 所以它不会在表的末尾添加某种边距 . 所以,谢谢wkw这个黑客 . 我决定在这里发帖,因为我不喜欢重定向 .
Swift 版本
最简单的方法是设置tableFooterView属性:
对于Swift:
如果您使用iOS 7 SDK,这非常简单 .
只需在viewDidLoad方法中添加以下行:
将表的
separatorStyle
设置为UITableViewCellSeparatorStyleNone
(在代码中或在IB中)应该可以解决问题 .我使用以下内容:
在viewDidLoad中执行此操作 . 但你可以在任何地方设置它 .
以下这个问题对我来说非常有用:
其中kTableRowHeight是我的行单元格的高度,numberOfRowsInTable是我在表格中的行数 .
希望有所帮助,
布伦顿 .