为了账号安全,请及时绑定邮箱和手机立即绑定

自己来重写drawRect,并且设置clip path会不会好一些?

自己来重写drawRect,并且设置clip path会不会好一些?

iOS
慕码人2483693 2023-04-14 23:15:54
如果我们在一个scrollview里面添加了一个cell,并且设置了layer为圆角,clipbounds为yes。这个时候我是在滚动scrollview的时候,就会非常卡。请问有什么提升性能的办法。我需要的是一个类似mask的功能,因为这个cell里面可能会有很多层子view。
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

clipbounds为yes不是影响性能的原因,原因是layer为圆角。不信你把圆角去了试试。同样的问题还出现在直接用layer加阴影上。

一般情况下(有视觉给你做切图或者你自己会切的时候)制作圆角控件应当使用和背景色吻合的圆角图案做遮罩。

maskImage为圆角遮罩,单通道灰阶图,可以在ps里做好。

    CGImageRef maskImageRef = maskImage.CGImage; 
    CALayer *maskLayer = [CALayer layer];
    maskLayer.contents = (__bridge id)maskImageRef;
    imageView.layer.mask = maskLayer;


查看完整回答
反对 回复 2023-04-19
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

layer.shadowPath是关键

查看完整回答
反对 回复 2023-04-19
  • 2 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信