- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([cell respondsToSelector:@selector(tintColor)]) {
if (tableView == self.dataTableview && indexPath.section == 1) {
// 圆角弧度半径
CGFloat cornerRadius = 10.f;
// 设置cell的背景色为透明,如果不设置这个的话,则原来的背景色不会被覆盖
// cell.backgroundColor = UIColor.redColor;
cell.contentView.backgroundColor = UIColor.orangeColor;
// 这里要判断分组列表中的第一行,每组section的第一行,每组section的中间行
// BOOL addLine = NO;
// CGPathAddRoundedRect(pathRef, nil, bounds, cornerRadius, cornerRadius);
if (indexPath.row == 0) {
//这里设置的是左上和右上
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = cell.bounds;
maskLayer.path = maskPath.CGPath;
cell.layer.mask = maskLayer;
} else if (indexPath.row == [tableView numberOfRowsInSection:indexPath.section]-1) {
//这里设置的是左下和左下角
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = cell.bounds;
maskLayer.path = maskPath.CGPath;
cell.layer.mask = maskLayer;
} else {
}
// // view大小与cell一致
// UIView *roundView = [[UIView alloc] initWithFrame:bounds];
// // 添加自定义圆角后的图层到roundView中
// [roundView.layer insertSublayer:layer atIndex:0];
// roundView.backgroundColor = UIColor.clearColor;
// //cell的背景view
// //cell.selectedBackgroundView = roundView;
// cell.backgroundView = roundView;
//
// //以上方法存在缺陷当点击cell时还是出现cell方形效果,因此还需要添加以下方法
// UIView *selectedBackgroundView = [[UIView alloc] initWithFrame:bounds];
// backgroundLayer.fillColor = tableView.separatorColor.CGColor;
// [selectedBackgroundView.layer insertSublayer:backgroundLayer atIndex:0];
// selectedBackgroundView.backgroundColor = UIColor.clearColor;
// cell.selectedBackgroundView = selectedBackgroundView;
}
}
}
网友评论