iOS tableView 添加 group 分组
作者:刿刀
- 2023-02-17 山东
本文字数:622 字
阅读完需:约 2 分钟
当 iOS 13 之后,可以设置 tableView style 为 insetGrouped。但是当前最低支持版本是 iOS 10
根据设计,可以在 section header 和 footer 里绘制。当然还有直接一种直接操作 cell
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([cell respondsToSelector:@selector(tintColor)]) {
if (indexPath.row == 0) {
UIRectCorner rectCorner = [tableView numberOfRowsInSection:indexPath.section] == 1 ? UIRectCornerAllCorners : (UIRectCornerTopLeft | UIRectCornerTopRight);
cell.layer.mask = [cell addRadiusToSpecificCorner:rectCorner andRadius:CGSizeMake(8, 8)];
} else if (indexPath.row == [tableView numberOfRowsInSection:indexPath.section] -1) {
cell.layer.mask = [cell addRadiusToSpecificCorner:UIRectCornerBottomLeft | UIRectCornerBottomRight andRadius:CGSizeMake(8, 8)];
}
}
}
复制代码
UIView 的扩展
- (CAShapeLayer *)addRadiusToSpecificCorner:(UIRectCorner)corner andRadius:(CGSize)radius {
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:(corner) cornerRadii:radius];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
return maskLayer;
}
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 3
刿刀
关注
还未添加个人签名 2018-11-15 加入
还未添加个人简介
评论