美文网首页
关于CAShapeLayer设置部分圆角在iPhone 13上显

关于CAShapeLayer设置部分圆角在iPhone 13上显

作者: 无聊肥猫 | 来源:发表于2022-05-09 14:32 被阅读0次

    项目里有个页面需要实现下面的效果:

    需要实现的效果

    由于圆角较多,不能直接设置cornerRadius,因此采用CAShapeLayer来实现部分圆角的效果。

    在做适配的时候发现,大部分机型都没问题,但是在iPhone 13上显示会像下面这样,部分圆角没有效果:

    iPhone 13上的效果

    通过排查,我发现当在viewDidLoad方法中通过CAShapeLayer设置圆角时,就会出现这个问题。

    而在viewDidAppear方法中通过CAShapeLayer设置圆角时,这个问题就不会出现了。

    我也尝试过在viewWillAppear中设置,问题还是会出现。

    因此,可以将初始化后要显示的这部分控件代码放到viewDidAppear方法中设置,其它控件则放在viewDidLoad方法中。

    具体原因我推测是因为我这个页面中需要用到CAShapeLayer设置圆角的控件太多,并且都是在viewDidLoad方法中设置,效果会互相影响,而在viewDidAppear方法中设置,则可以保证得到我们希望的效果。

    相关文章

      网友评论

          本文标题:关于CAShapeLayer设置部分圆角在iPhone 13上显

          本文链接:https://www.haomeiwen.com/subject/fprhurtx.html