码迷,mamicode.com
首页 > 其他好文 > 详细

UITableView设置cell的separator 分割线

时间:2015-12-03 18:58:32      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

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];
    }
}

效果图如下:

技术分享

 

UITableView设置cell的separator 分割线

标签:

原文地址:http://www.cnblogs.com/csdnIOS/p/5017048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!