iOS9下UITableView设置separatorInset无效

经常有需求隐藏一个section的最后一条分割线, 然而自定义cell有些过于繁琐

我们都知道设置某一条分割线的边距位0

cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0)

隐藏某一条cell的分割线

cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, __kScreenWidth/** cell的宽 */)

但是在iOS9下效果颇有不理想

设置边距位0


Paste_Image.png

隐藏分割线

Paste_Image.png

解决办法 追加以下方法

    //iOS9 分割线 隐藏或者设置边距0
    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        
        if cell.responds(to: #selector(setter: UIView.preservesSuperviewLayoutMargins))  {
            cell.preservesSuperviewLayoutMargins = false
        }
        
        if cell.responds(to: #selector(setter: UIView.layoutMargins))  {
            cell.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0)
        }
    }

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,204评论 4 61
  • 一路拥挤的争抢,争抢买到票,争抢及时赶到,争抢排队验票,争抢过安检,争抢候车室的座位,争抢排队验票上车,争抢行李架...
    飞戈飞阅读 1,332评论 0 0
  • 五月到七月 气温随凉而暖 头发由短变长 身高不上不下 好友+1+2 变与不变其实 跟随着心境 我叫小萌 爱慕未停 ...
    陆小萌阅读 1,488评论 0 0
  • 超级速算名人堂 — 34 保时鸟 入选时间:2015年9月10日 入选级别:787级 入选理由:保时鸟,浙江温州人...
    V5特湘叶叶阅读 1,449评论 0 0
  • 又是一年的9月1号,大大小小的孩子们开学了,为了这一天,我们很多父母都在辛苦的工作着,可是昨天...终究我们...
    YWJ1122阅读 2,490评论 0 1