在一个多cell的Tab了View 中设置第一个和最后一个cell的圆角
其实还是贝塞尔去画 给cell 加一个view
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0 && indexPath.section == 0) {
UIView *backView = [[UIView alloc] initWithFrame:cell.bounds];
backView.backgroundColor = [UIColor whiteColor];
backView.layer.cornerRadius = 15;
cell.backgroundView = backView;
} else if ((indexPath.section == 1 && indexPath.row == 0) || (indexPath.section == 2 && indexPath.row == 0)) {
UIView *backView = [[UIView alloc] initWithFrame:cell.bounds];
backView.backgroundColor = [UIColor whiteColor];
UIRectCorner corner = UIRectCornerTopLeft | UIRectCornerTopRight;
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:backView.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(15, 15)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = backView.bounds;
maskLayer.path = path.CGPath;
backView.layer.masksToBounds = YES;
backView.layer.mask = maskLayer;
cell.backgroundView = backView;
} else if ((indexPath.section == 1 && indexPath.row == 2) || (indexPath.section == 2 && indexPath.row == 4)) {
UIView *backView = [[UIView alloc] initWithFrame:cell.bounds];
backView.backgroundColor = [UIColor whiteColor];
UIRectCorner corner = UIRectCornerBottomLeft | UIRectCornerBottomRight;
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:backView.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(15, 15)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = backView.bounds;
maskLayer.path = path.CGPath;
backView.layer.masksToBounds = YES;
backView.layer.mask = maskLayer;
cell.backgroundView = backView;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了