zoukankan      html  css  js  c++  java
  • UITableView设置cell的separator 分割线

    1、去除UITableView空白的多余的分割线

    self.myTableview.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];  

    2、设置分割线的位置

    方法一:


    在willDisplayCell上增加如下代码

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{  
    
                cell.separatorInset = UIEdgeInsetsMake(0, 50, 0, 0);  
       //UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
       //缩进50pt
    } 

    如果要去了最后一行cell的分割线需要这样

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{  
    
            if (indexPath.row==dataSourceArray.count-1) {  
                cell.separatorInset = UIEdgeInsetsMake(0, 320 , 0, 0);  
            }  
    } 

    方法二:

    -(void)viewDidLayoutSubviews
    {
        if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
            [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,50,0,0)];
        }
        
        if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
            [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,50,0,0)];
        }
    }
    
    -(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];
        }
    }

    效果图如下:

  • 相关阅读:
    mysql将视图数据迁移到表中
    一、Vant示例文件
    一、VS安装GitHub插件
    二、.net 特性之二
    .net Core jwt策略参数
    一、
    一、.Net Core 3.1 全局序列化
    前端项目
    python 小脚本升级-- 钉钉群聊天机器人
    java 接口测试,使用excel做数据驱动(二)
  • 原文地址:https://www.cnblogs.com/csdnIOS/p/5017048.html
Copyright © 2011-2022 走看看