iOS同时设置圆角和阴影含部分圆角

iOS同时设置圆角和阴影含部分圆角,第1张

阴影和圆角都是CAlayer的特性。

在iOS11之前,阴影和圆角基本是不能共存的,设置了圆角,再设置阴影的时候,阴影就被裁切掉了。但是在iOS11之后,使用maskedCorners设置的圆角,可以同时设置阴影。同时,这个属性也提供了设置部分圆角的方式。

为了兼容低版本,提供了高效设置部分圆角的方法。

圆角和阴影并存

首先先说阴影和view的全部圆角并存

不考虑性能的情况下

1、在view下面在加一个view设置阴影

ios11.0以下

那么有阴影并且只切部分圆角要怎么做呢

首先一个view

在ios11.0以上还是非常方便的

ios11.0以下就需要用到UIBezierPath了,在bgView的上面再增加一个view用来切部分圆角

Swift版写法在个人主页Swift集合中

由于使用masksToBounds切圆角时投影的效果会消失,所以这里的思路是通过layer来设置。

如上图所示,接下来分别实现无边框阴影、渐变背景色+圆角阴影和边框圆角阴影

以下属性可根据自身需求进行相应调整:

如上图(1-1),无边框阴影效果实现:

如上图(1-2),渐变背景色+圆角阴影效果实现:

如上图(1-3),边框圆角阴影效果实现:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11564311.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存