Interview征服iOS

UITableView 去掉分割线

2017-03-14  本文已影响2157人  b470b9fc7145

前言

最近项目中有很多地方要去除 cell 的分割线,在这里总结下:

  1. 关于分割线最好方式是不要设置分割线,然后在自定义cell 里面控制分割线的显示隐藏.
  2. 用系统的分割线,然后将设置separatorInset,让其超出屏幕,达到隐藏的效果.

代码

  1. 方法一: 设置一开始就将分割线设置为clearColor,然后根据需要加分割线
self.tableView.separatorColor = [UIColor clearColor];
//或者
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
if(indexPath.row != self.newCarArray.count-1){
    UIImageView *line = [[UIImageView alloc] initWithFrame:CGRectMake(0, 44, 320, 2)];
    line.backgroundColor = [UIColor redColor];
    [cell addSubview:line];
}
  1. 方法二:
cell.separatorInset = UIEdgeInsetsMake(0.f, cell.bounds.size.width, 0.f, 0.f);
- (void)addSubview:(UIView *)view
{
    //如果是_UITableViewCellSeparatorView就不让添加
    if (![view isKindOfClass:[NSClassFromString(@"_UITableViewCellSeparatorView") class]] && view)
    {
        [super addSubview:view];
    }
}
分割线的类名 去除cell分割线对比图

demo

参考文档

  1. hide separator line on one UITableViewCell
  2. Is there a way to remove the separator line from a UITableView?
  3. 如何有效去掉分割线(UITableViewCellSeparatorView),并或控制单条分割线
上一篇 下一篇

猜你喜欢

热点阅读