iOS tableView每个section的cell添加圆角

 我来答
华源网络
2022-06-06 · TA获得超过5589个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:146万
展开全部

tableView 需要实现类似微信我的页面, tableView 的每个section的 cell ,第一个上部分加圆角,中间不加,最后一个加下圆角。具体效果如下:

也许你会想到

注意⚠️: iOS14 系统 cell 不能上面方法设置圆角

通过图明显我们能够看出来这并不能满足我们需求,就是需要每个分区的第一个 cell 的左上角跟右上角有圆角,中间cell没有圆角,最后一个 cell 的左下角跟右下角有圆角。

也许你会在 cell 中加个背景视图,然后通过它来实现圆角。

注意⚠️: 通过这种方法实现的,如果是死数据,能够正常显示,但是如果通过网络请求或者有延迟刷新时,你会发现会出现闪屏或者不显示效果,所以这种不理想。

我们可以通过 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 代理方法来实现,这种方法我们需要把 cell 的背景色设置成透明色,然后自定义一个 view 来作为背景视图。

注意⚠️: 通过上述方法添加圆角后,能够正常显示,如果点击 cell 时还是出现 cell 方形效果,这样选中效果不理想。
解决办法: 需要选中状态的话,还需要再自定义一个 UIView 做为 cell 的 selectedBackgroundView ,继续加在 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 代理方法的最后面。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式