• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 用 CAShapeLayer 添加阴影?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:25:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个只有底部圆角的CAShapeLayer。我想要的是在底部添加一个阴影,但它不起作用,即使代码看起来显然是正确的。它所做的一切都是围绕底角,但我没有看到阴影。

let shapeLayer = CAShapeLayer()

    let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.bottomLeft, .bottomRight], cornerRadii: CGSize(width: 20, height: 20)).cgPath
    shapeLayer.path = path

    shapeLayer.shadowColor = UIColor(r: 233, g: 233, b: 233).cgColor
    shapeLayer.shadowOffset = CGSize(width: 0.0, height: 2.8)
    shapeLayer.shadowOpacity = 1.0
    shapeLayer.shadowRadius = 0.0
    shapeLayer.shouldRasterize = true
    shapeLayer.rasterizationScale = UIScreen.main.scale

    layer.rasterizationScale = UIScreen.main.scale
    layer.mask = shapeLayer



Best Answer-推荐答案


shapeLayer 将 View 的角变圆,因为它被设置为层的 mask 。您可能希望将其添加为子层。

旧:

layer.mask = shapeLayer

新:

layer.addSublayer(shapeLayer)

如果有帮助,我在这里写了另一个关于向圆角 View 添加阴影的答案:https://stackoverflow.com/a/41475658/6658553

关于ios - 用 CAShapeLayer 添加阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791102/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap