xiaoyaolala
晓瑶飞雨
采纳率33.3%
2017-03-09 02:55

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条回答

  • qinqi376990311 Se7en丶潇洒哥 4年前

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

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 4年前

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

    点赞 1 评论 复制链接分享
  • dszhangyu dszhangyu 4年前
    • (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上面

    点赞 评论 复制链接分享
  • motu_yang 遥遥无期的等待_绽放 4年前

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

    点赞 评论 复制链接分享

相关推荐