视觉效果

Twitter: @twostraws

如果你的目标是 iOS 15 及更高版本,则不再需要此存储库,因为现在有专门的 SwiftUI API 可以实现此功能。 请参阅此处:如何添加视觉效果模糊


此存储库是 UIVisualEffectViewNSVisualEffectView 的包装器,在 SwiftUI 推出执行相同操作的官方视图之前,它将非常有用。

SwiftUI 没有官方的 UIVisualEffectView 包装器,因此许多人尝试制作一个,但成功程度各不相同。 幸运的是,对于我们所有人来说,Apple 发布了他们自己的 iOS 和 macOS 包装器,并根据 MIT 许可证获得许可。 此存储库以 Swift 包的形式托管该包装器,因此您可以自己使用它。

我(Paul Hudson)仅对他们的代码进行了微小的更改,以提高可读性,并使其能够从单个软件包跨平台工作。

示例代码

这将在线性渐变之上放置一个 VisualEffectBlur,模糊内部的一些文本将获得鲜艳效果。

import SwiftUI
import VisualEffects

struct ContentView: View {
    var body: some View {
        ZStack {
            LinearGradient(
                gradient: Gradient(colors: [.red, .blue]),
                startPoint: .topLeading,
                endPoint: .bottomTrailing
            )

            VisualEffectBlur(blurStyle: .systemUltraThinMaterial, vibrancyStyle: .fill) {
                Text("Hello World!")
                    .font(.largeTitle)
            }
        }
    }
}

许可证

此软件包根据 MIT 许可证发布,如下所示。

版权所有 © 2020 Apple Inc.

特此授予许可,免费向任何获得本软件和相关文档文件(“软件”)副本的人员授予许可,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向已获得本软件的人员授予许可,但须符合以下条件

上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起、产生或与之相关。