iOS-UITableView 右侧箭头+取消分割线+取消选中样式+自定义分割线(原生和自定义cell)

一.右侧箭头:
1.系统方法:

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];

2.自定义

 UIView *customView = [[UIView alloc] init];
 //初始化自定义View
 [cell setAccessoryView:customView];

二.取消分割线

[_busTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

三.取消选中样式

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

四.自定义分割线
方法1:

//自定义分割线
        UIView *customLine = [[UIView alloc] init]; //用view来画分割线
        customLine.frame = CGRectMake(cell.frame.origin.x + 5, cell.frame.size.height - 1, cell.frame.size.width - 10, 1);
        customLine.backgroundColor =  [UIColor lightGrayColor];
        [cell.contentView addSubview:customLine];

方法2.(UITableview 顶部添加分割线)

//自定义分割线
        UIView *separateLineTop = [[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, 1)]; [separateLineTop setBackgroundColor:[UIColor grayColor]];
        [cell.contentView addSubview:separateLineTop];

        UIView *separateLineBottom = [[UIView alloc] initWithFrame:CGRectMake(0, cell.frame.size.height - 1, cell.frame.size.width, 1)]; [separateLineBottom setBackgroundColor:[UIColor grayColor]];
        [cell.contentView addSubview:separateLineBottom];

方法三:
倘若自定义cell,高度未知,可以在自定义UITableViewCell .m文件中中重写- (void)drawRect:(CGRect)rect方法

-(void)drawRect:(CGRect)rect{ CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
    CGContextFillRect(context, rect);
//上分割线,
// CGContextSetStrokeColorWithColor(context, colorWithRGBA(178, 178, 178, 0.8).CGColor);
// CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1));

//下分割线
    CGContextSetStrokeColorWithColor(context, colorWithRGBA(168, 168, 168, 0.9).CGColor);
    CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));
}

你可能感兴趣的:(UIView,UITableVie)