iOS 中隐藏UITableView最后一根分隔线

Posted Haley_Wong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 中隐藏UITableView最后一根分隔线相关的知识,希望对你有一定的参考价值。

最近在做弹出菜单的时候,使用到了FTPopOverMenu,遇到了箭头向下时,最后一根分割线十分不美观的问题。
由于这种菜单一般是不能滚动的,即设置了UITableView的滚动属性为NO。
我想了一种方法,是在最后一根分割线上添加一个视图,将其盖住。

UIView *lineView = [self viewWithTag:201];
if (!lineView) {
    lineView = [[UIView alloc] initWithFrame:CGRectZero];
}
lineView.frame = CGRectMake(5, menuRect.size.height-2, menuRect.size.width - 10, 2);
lineView.tag = 201;
lineView.backgroundColor = [FTPopOverMenuConfiguration defaultConfiguration].tintColor;
[self insertSubview:lineView aboveSubview:self.menuTableView];

但是这种做法很有局限性,只能应用在UITableView 不能滚动,并且UITableView的contentSize等于其frame.size的情况。

返回给作者后,作者给出了一个更加优雅的做法:

if (indexPath.row == _menuStringArray.count-1) {
        menuCell.separatorInset = UIEdgeInsetsMake(0, self.bounds.size.width, 0, 0);
    }else{
        menuCell.separatorInset = UIEdgeInsetsMake(0, FTDefaultMenuTextMargin, 0, 10+FTDefaultMenuTextMargin);
    }

上面这个设置写在CellForRow 方法中,明显这个方法更加优雅,将分割线设置偏移到屏幕外就好了。



以上是关于iOS 中隐藏UITableView最后一根分隔线的主要内容,如果未能解决你的问题,请参考以下文章

小坑:UITableView分组后最后一根分割线不显示

最后一个 UITableViewCell 没有分隔线

指定表格页脚时,最后一个单元格上的uitableview分隔符丢失

iOS7 UITableView 部分中的最后一个单元格强制全宽分隔符

如何在 UITableView 部分之间添加空间?

选择部分中的最后一行后显示分隔线