iOS-UITableView分割线左侧顶齐

方法一:

在iOS7中可以通过设置setSeparatorInset:为UIEdgeInsetsZero,在iOS8改成setLayoutMargins:方法了,为了兼容iOS7,所以要加个判断,具体代码在tableView页面添加下面的方法即可

-(void)viewDidLayoutSubviews {
    
    if ([self.mytableview respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.mytableview setSeparatorInset:UIEdgeInsetsZero];

    }
    if ([self.mytableview respondsToSelector:@selector(setLayoutMargins:)])  {
        [self.mytableview setLayoutMargins:UIEdgeInsetsZero];
    }

}

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
} 

方法二:

UITableViewCell绘制分割线

//第一步:  
//UITableView去掉自带系统的分割线  
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;  
  
//第二步:  
//在自定义的UITableViewCell里重写drawRect:方法  
#pragma mark - 绘制Cell分割线  
- (void)drawRect:(CGRect)rect {  
  
    CGContextRef context = UIGraphicsGetCurrentContext();  
    CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);  
    CGContextFillRect(context, rect);  
  
    //上分割线,  
    CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:198/255.0 green:198/255.0 blue:198/255.0 alpha:1].CGColor);  
    CGContextStrokeRect(context, CGRectMake(0, 0, rect.size.width, 1));  
  
    //下分割线  
    CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:198/255.0 green:198/255.0 blue:198/255.0 alpha:1].CGColor);  
    CGContextStrokeRect(context, CGRectMake(0, rect.size.height, rect.size.width, 1));  
}

相关链接http://blog.csdn.net/qq_31810357/article/details/51474446

你可能感兴趣的:(iOS-UITableView分割线左侧顶齐)