消除UITableView下面的额外分隔符

当我设置了4行的表格视图时,在填充的行下还有额外的分隔符行(或额外的空白单元格)。

我将如何删除这些细胞?

UITableView中额外的分隔线的图像


界面构建器(iOS 9+)

只需将UIView拖动到表格中即可。 在故事板中,它将位于自定义单元格下方的顶部。 您可能更愿意将其命名为“页脚”。

为了清晰起见,它以绿色显示,您可能需要清晰的颜色。

请注意,通过调整高度,您可以根据自己的喜好来影响表格“底部反弹”的处理方式。 (高度零通常很好)。

在这里输入图像描述


以编程方式进行:

迅速

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.tableFooterView = UIView()
}

Objective-C的

iOS 6.1+

- (void)viewDidLoad 
{
    [super viewDidLoad];

    // This will remove extra separators from tableview
    self.tableView.tableFooterView = [UIView new];
}

或者如果你愿意,

    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

历史上在iOS中:

添加到表格视图控制器...

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
     // This will create a "invisible" footer
     return CGFLOAT_MIN;
 }

如果有必要......

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{        
    return [UIView new];

    // If you are not using ARC:
    // return [[UIView new] autorelease];
}

这里有另外一种方法可以做到这一点,不用分组表格样式,也可以不猜。 向表格添加页眉和页脚(可能一个或另一个已满足,没有选中)会导致分隔符从填充/空白行中消失。

我偶然发现了这一点,因为我想在桌子的顶部和底部留出一点空间,以降低击中按钮的风险,而不是使用肉质手指的桌子单元。 这里有一个方法来在页眉和页脚中粘贴空白视图。 使用任何你喜欢的高度,你仍然消除额外的分隔线。

- (void) addHeaderAndFooter
{
    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)];
    v.backgroundColor = [UIColor clearColor];
    [self.myTableView setTableHeaderView:v];
    [self.myTableView setTableFooterView:v];
    [v release];
}

作为@Casebash的回应,我回到了我的应用中的代码(iTunes Store中的“AcmeLists”列表管理器...),并短接addHeaderAndFooter方法进行验证。 没有它 ,我有额外的行分隔符; 与代码,我有你在这个窗口中看到的捕捉:没有表格行分隔符图片。 所以我不确定为什么它不适合你。 而且,对于我来说,在表格视图中使用任何自定义页脚必须不得不停止为其下方的空白行绘制行分隔符。 这将是可怕的。 作为参考,我查看了哪些表的行数多于可以在屏幕上查看的行数,然后查看了具有两行的表格。 在这两种情况下,都没有无关的分隔符。

也许你的自定义视图并未实际添加。 要检查这一点,请将背景颜色设置为除clearColor其他颜色,例如[UIColor redColor] 。 如果您在表格底部看不到红色条纹,则未设置页脚。


Swift中为UITableView中的空行删除额外的分隔线

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.yourTableview.tableFooterView = UIView()
    }
链接地址: http://www.djcxy.com/p/49395.html

上一篇: Eliminate extra separators below UITableView

下一篇: Vim: Move cursor to its last position