UITableView完美分割线

  • 大概是从iOS7开始,系统默认的tableView分割线左边是有一定间距的,很多时候我们开发需求是不需要它留有这部分间距,所以我们要想办法取消掉
  • 目前方法有很多种,有用一个高度为1的UIView操作的,有用重写cell的setFrame方法操作的,不过可能是自己使用习惯了,最钟意的还是以下的代码,从根本上去处理的
  • 而且最爽的是我给代码仓库里面添加了这部分代码,使用的时候只要敲一个快捷语就可以自动写入这部分代码
//设置tableview的分割线没有开头的间距

//view布局完子控件的时候调用
- (void)viewDidLayoutSubviews
{
//iOS7只需要设置SeparatorInset(iOS7开始有的)就可以了,但是iOS8的话单单只设置这个是不行的,还需要设置LayoutMargins(iOS8开始有的)
   if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
       [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
   }

   if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
       [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
   }
}
//cell即将展示的时候调用
- (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];
   }
}


截图1.png
截图2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,093评论 3 38
  • 前情提要:恋你十年,未曾改变(五十三) 我和肖队刚刚到下榻的酒店,坤的短信就发了过来:“注意安全,早日凯旋!”心...
    lemoney阅读 580评论 2 4
  • 宝宝你可曾看到这一夜星光, 隔着肚皮感受天渐微凉。 还好妈妈温热的手掌, 冻结了时光,慢慢的歌唱。 宝宝你可曾闻到...
    自寻死路阅读 215评论 0 5
  • 说到做梦似乎都是在青春年少时光才有的事,记得在上小学的时候,老师就让我们写过一篇文章《我的梦想》,那时的自己开始知...
    Winner33阅读 156评论 0 0