【问题标题】:How to implement a layer blur in Swift如何在 Swift 中实现图层模糊
【发布时间】:2020-09-08 22:08:05
【问题描述】:

在 figma 中,您可以将一种效果应用于称为图层模糊的视图。

我不知道如何在 Swift 中将这种效果复制为它自己的视图。

例如,假设我想在具有图层效果的按钮下添加一个视图,如下所示:

我曾尝试从 figma 导出模糊视图并将其用作代码中的图像,但最终结果如下:

这些是我要实现的图层模糊视图的设置:

我们将不胜感激。

【问题讨论】:

    标签: ios swift figma


    【解决方案1】:

    您可以通过这种方式为按钮添加阴影。 像这样添加 UIView 的扩展。

    extension UIView{
       func dropShadow() {
        layer.masksToBounds = false
        layer.shadowColor = UIColor.black.cgColor
        layer.shadowOpacity = 0.16
        layer.shadowOffset = CGSize(width: 0, height: 3)
        layer.shadowRadius = 3
        }
    }
    

    通过添加此行为您的按钮添加阴影。

    yourButton.dropShadow()
    

    【讨论】:

      【解决方案2】:

      enter image description here您可以为此目的为您的 Button(View) 添加阴影

      view.layer.shadowColor = UIColor.black.cgColor
      view.layer.shadowRadius = 20
      view.layer.shadowOpacity = 1
      view.layer.shadowOffset = .zero
      

      shadowOpacity:设置透明度,0为无阴影,1为最强。 shadowRadius:设置阴影的宽度。 shadowOffset:设置视图和阴影之间的距离。

      【讨论】:

      • 问题是当前版本的投影不允许添加独立视图。
      • 我很难理解你,你能解释一下吗??
      • 这个答案会修改图层,但不会创建新视图
      • UIButton本身是UIControle的一个subView,它是UIView的一个subView。 UIButton 和 UIView 一样具有我提到的所有属性。我们可以说 UIButton 是一个 UIView 被修改来执行一个功能。
      猜你喜欢
      • 2019-09-02
      • 2021-10-15
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 2016-02-28
      相关资源
      最近更新 更多