如何获得默认的单元格分隔符颜色?另外,如何设置每个单元格的分隔符颜色?

Posted

技术标签:

【中文标题】如何获得默认的单元格分隔符颜色?另外,如何设置每个单元格的分隔符颜色?【英文标题】:How do I get the default cell separator color? Also, how do I set separator color per cell? 【发布时间】:2016-06-11 17:28:08 【问题描述】:

我想在底部添加一个单元格,该单元格仅在用户滚动到 tableview 底部时显示应用程序正在加载更多结果。我已经这样做了。问题是它是一个细胞。因此,当我进一步向下滚动时,分隔符显示它只是表格中的另一个单元格。我想隐藏它。我必须更改该单元格的分隔符颜色,如何对特定单元格执行此操作?另外,我在哪里/什么时候这样做?

我意识到,如果我更改该单元格的颜色(假设它是#5),当我得到结果并将它们加载进去时,这是否也会导致单元格#5 仍然有一个不可见的分隔符?那么如何将其设置回默认颜色呢?更具体地说,如何以编程方式获取 tableviewcellseparator 的默认颜色?

谢谢

【问题讨论】:

【参考方案1】:

这是一个简单的技巧:您必须在 Storyboard 中的 UITableView 中添加 en empty UIView。设置height = 0

UITableView 的最后一个分隔符神奇地消失了。


编辑

您还需要像这样编辑您的cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];

    if (indexPath.row == [self tableView:tableView numberOfRowsInSection:[self numberOfSectionsInTableView:tableView]-1]-1) 
        //this is the last cell
        cell.separatorInset = UIEdgeInsetsMake(0, cell.bounds.size.width, 0, 0);
     else 
        cell.separatorInset = UIEdgeInsetsMake(0, 0, cell.bounds.size.width, 0);
    
    return cell;

【讨论】:

谢谢!这会有很大帮助。但它只会删除我的“正在加载...”单元格下面的所有单元格的分隔符。称重传感器的下部分隔符仍然显示。 该死,还是什么都没有。我确实找到了解决它的方法。我在空的 UIView 中添加了另一个空子视图,并将它的 y 位置设置为 -1,高度设置为 2。这似乎解决了这个问题。我会对原来的 UIView 这样做,但我不能改变它的 y 位置。【参考方案2】:

分隔符颜色是表格视图的一个属性,你可以这样获取或设置它:

self.tableView.separatorColor = UIColor.blackColor()

但我认为您不能更改单个单元格的分隔符颜色。

如果您确实需要这种级别的自定义,您可能应该自己绘制分隔条,例如,在单元格顶部的细UIView。然后,您可以将其外观更改为您想要的任何内容。

【讨论】:

以上是关于如何获得默认的单元格分隔符颜色?另外,如何设置每个单元格的分隔符颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iOS中为单元格分隔符设置图像[重复]

带有静态单元格的 UITableView - 每个部分的分隔颜色不同?

如何在 UITableView 中为不同的单元格和标题设置不同的随机颜色?

如何更改子单元格的单元格背景颜色

excel如何设置背景颜色

vba如何对选取区域设置边框线颜色,边框包括外部边框和内部的。