删除节头和节之间的分隔符的UITableViewCell

时间:2018-01-11 03:33:28

标签: ios uitableview

如何删除图片中指示的线条?我已经尝试了以下建议,但没有一个对我有用,

How do I remove the borders of a UITableView?

Remove separator line for only one cell

Hide separator line on one UITableViewCell

这是我cellForRowAt中的当前代码:

       if (indexPath.row == place_sections[indexPath.section].rows.count - 1) {
            cell.separatorInset.left = 1000
            //cell.layer.borderWidth = 0
            //cell.separatorInset = UIEdgeInsetsMake(0, 160, 0, 160);

        }
        if (indexPath.row == 0) {
            cell.separatorInset.left = 1000
            //cell.layer.borderWidth = 0
            //cell.separatorInset = UIEdgeInsetsMake(0, 160, 0, 160);

            //                self.tableview.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: self.tableview.frame.width, height: 1))
        }

谢谢

enter image description here

3 个答案:

答案 0 :(得分:0)

这是客观的c代码,这有助于您

http://www.iostute.com/2015/04/expandable-and-collapsable-tableview.html

对于快速和客观的c

http://www.anexinet.com/blog/expandable-collapsible-uitableview-sections/

第一个链接有自定义标题视图,因此边框线不会出现在这里。

在viewForHeaderInSection函数中注释此代码

// /********** Add a custom Separator with Section view *******************/
//    UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(15, 40, _expandableTableView.frame.size.width-15, 1)];
//    separatorLineView.backgroundColor = [UIColor blackColor];
//    [sectionView addSubview:separatorLineView];

参见截屏 enter image description here

答案 1 :(得分:0)

我能解决这个问题的最接近的方法是从" Grouped"更改UITableView的样式。到"平原"。

如果您能找到更好的解决方案,我不推荐它,因为现在滚动时部分标题会粘在屏幕顶部,这是不可取的(我认为描述这个的正确方法是"节标题浮动")。

UItableview Grouped

答案 2 :(得分:0)

标题和单元格之间的分隔符属于节中的第一个单元格。 当我使用标准UITableViewHeaderFooterViewUITableViewCell时,我通过以下代码设法隐藏了标题和单元格之间的行:

let contentView = cell.contentView
if
    // this separator is subview of first UITableViewCell in section
    indexPath.row == 0,
    // truing to find it in subviews
    let divider = cell.subviews.filter({ $0.frame.minY == 0 && $0 !== contentView }).first
{
    divider.isHidden = true
}

这段代码必须在tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)

中调用