【问题标题】:UIView with shadow and masked layer带有阴影和蒙版层的 UIView
【发布时间】:2024-01-16 09:03:01
【问题描述】:

所以我有一个 UIView(称为 myView),上面应用了一些掩码。

let maskPath = UIBezierPath(roundedRect: myView.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 12, height: 12))
let maskLayer = CAShapeLayer()
maskLayer.frame = myView.bounds
maskLayer.path = maskPath.cgPath
myView.layer.mask = maskLayer

这种布局方式:

我没有做的是向 myView 添加一些阴影。由于视图的图层有一个蒙版,我无法使用阴影向它添加不同的图层。

有人遇到过这个问题吗?

【问题讨论】:

标签: ios swift uiview calayer shadow


【解决方案1】:

将您的图像颜色设置为清晰并设置为以下:

let maskPath = UIBezierPath(roundedRect: redView.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 12, height: 12))
        let maskLayer = CAShapeLayer()[![enter image description here][1]][1]
        maskLayer.fillColor = UIColor.red.cgColor // your color
        maskLayer.frame = redView.bounds
        maskLayer.path = maskPath.cgPath

        redView.layer.addSublayer(maskLayer)

        redView.layer.shadowOffset = CGSize(width: 10, height: 10)
        redView.layer.shadowColor = UIColor.green.cgColor
        redView.layer.shadowOpacity = 1

【讨论】:

  • 嘿,否认!将maskLayer 添加为子层并不是圆角。您的代码正在像这样布局我的视图:imgur.com/a/1ygV1
  • 您是否将 UIVeiw 背景颜色设置为清除?这个效果:imgur.com/gallery/a2Xbx
最近更新 更多