在controller中實(shí)現(xiàn)以下兩個(gè)方法就可以讓cell的下劃線左對(duì)齊了。
直接上代碼
-(void)viewDidLayoutSubviews {
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView 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];
}
}
只要實(shí)現(xiàn)以上兩個(gè)方法就可以達(dá)到效果了

Paste_Image.png
但是在某些特殊情況下以上方法可能也打不到需求,比如iPad開發(fā)的時(shí)候,此時(shí)就需要自己繪制分割線了,如果要自己繪制分割線的話請(qǐng)先把系統(tǒng)的分割線隱藏,即設(shè)置separatorStyle 為 UITableViewCellSelectionStyleNone
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:0xE2/255.0f green:0xE2/255.0f blue:0xE2/255.0f alpha:1].CGColor);
CGContextStrokeRect(context, CGRectMake(0, rect.size.height - 0.5, rect.size.width, 0.5));
}
另外如果要把多余的cell的分割線去掉只需要設(shè)置footerView就行了。