晓瑶飞雨
2017-03-09 02:55
采纳率: 33.3%
浏览 2.9k
已采纳

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任何版本都不显示。

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Se7en丶潇洒哥 2017-03-24 01:24
    已采纳

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

    点赞 打赏 评论
  • oyljerry 2017-03-09 02:58

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

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

    点赞 打赏 评论
  • dszhangyu 2017-03-29 08:37
    • (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上面

    点赞 打赏 评论

相关推荐