专栏首页陈满iOSiOS·UITableView分割线颜色,隐藏,边距(宽度,起点)等设置

iOS·UITableView分割线颜色,隐藏,边距(宽度,起点)等设置

1. 除掉UITableView底部多余行及分割线:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
2. 隐藏所有的分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
3. 设置分割线横条的颜色
self.tableview.separatorColor = [UIColor redColor];
4. 设置分割线横条的边距
  • 方案1 - cellForRowAtIndexPath代理
//定制表格单元分割线
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ClientManageCell *cell = [tableView dequeueReusableCellWithIdentifier:kClientTableViewCellIdentifier];

    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsMake(0, 25, 0, 0)];
    }
    //给cell的model赋值
    cell.clientManageModel = self.sectionArr[indexPath.section][indexPath.row];
    return cell;
}
  • 方案2 - willDisplayCell代理
//定制表格单元分割线
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsMake(0, 25, 0, 0)];
    }
    
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsMake(0, 25, 0, 0)];
    }
}
  • 方案3 - 对tableView进行设置
- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    
    self.tableView.tableFooterView = [UIView new];
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,15,0,0)];
    }
    
    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
    }
    [self.tableView reloadData];
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS开发小技巧:根据文本,字体,计算UILabel高度及宽度

    关于boundingRectWithSize,系统API有几个类的相关方法。搜索官方文档,可见如下:

    陈满iOS
  • iOS开发·runtime原理与实践: 方法交换篇(Method Swizzling)(iOS“黑魔法”,埋点统计,禁止UI控件连续点击,防奔溃处理)

    Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有...

    陈满iOS
  • [iOS源码笔记]·第三方网络图片处理框架:SDWebImage网络下载及缓存管理策略

    typedef void(^SDExternalCompletionBlock)(UIImage * _Nullable image, NSError * _N...

    陈满iOS
  • UITableViewCell系列之(一)让你的cell支持二次编辑

    VV木公子
  • iOS 11 安全区域适配总结

    本文主要是对 iOS 11下 APP 中 tableView 内容下移 20 pt 或下移 64 pt 的问题适配的一个总结。

    刘庆红
  • iOS 11 安全区域适配总结

    | 导语 本文主要是对iOS 11下企鹅 FM APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。内容包括五个部分:问题的原因分析、...

    腾讯Bugly
  • IOS UITableViewCell的删除和插入

    用户5760343
  • VUE Cookbook 系列:实现可配置组合表单

    本案例将会讲解如何使用 vue.js + ElementUI 开发一个简单的 可配置组合表单 Demo。

    IMWeb前端团队
  • Java中的基本数据类型和包装类型的这些知识,你都知道吗?

    Java 中的基本数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型; 这四大类包含 8 种基本数据类型。

    code随笔
  • WPF 使用 SharpDx 异步渲染 使用方法绑定渲染为什么空白等待画完异步渲染多线程渲染

    本文告诉大家如何通过 SharpDx 进行异步渲染,但是因为在 WPF 是需要使用 D3DImage 画出来,所以渲染只是画出图片,最后的显示还是需要 WPF ...

    林德熙

扫码关注云+社区

领取腾讯云代金券