ios10后 tableview设置分割线无效

代码:
fileprivate var tableView:UITableView = UITableView.init(frame: CGRect(x: 0, y: 0, width: SystemKit.ScreenWidth, height: SystemKit.ScreenHeight), style: .grouped)

tableView.separatorStyle = .singleLine

问题:swift3.0该种方式,ios10以下显示分割线,但是ios10以后的设备分割线不显示。如果设置singleLineEtched任何版本都不显示。

有遇到这个问题的吗?还是需要注意什么

这里你注意,你的TableView是group样式的,建议改成plain样式的。如果没有重大影响的话。若是非要group样式的,那就像楼上所说的,自己添加~

可以自己增加一个view来画线。
http://www.jianshu.com/p/2e77d478f333

自己画一个view,在cell里面,把分割线样式设为none,这样就不用去考虑iOS10以下以上了

  • (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    if([cell respondsToSelector:@selector(setSeparatorInset:)]){
    [cell setSeparatorInset:UIEdgeInsetsZero];
    }

    if([cell respondsToSelector:@selector(setLayoutMargins:)]){
    [cell setLayoutMargins:UIEdgeInsetsZero];
    }
    }

  • (void)viewDidLayoutSubviews{
    if([_mettingSchTabView respondsToSelector:@selector(setSeparatorInset:)]){
    [_mettingSchTabView setSeparatorInset:UIEdgeInsetsZero];
    }

    if([_mettingSchTabView respondsToSelector:@selector(setLayoutMargins:)]){
    [_mettingSchTabView setLayoutMargins:UIEdgeInsetsZero];
    }
    }
    把这两个方法加在你需要改变的tableView上面