如果你的目标是 iOS 15 及更高版本,则不再需要此存储库,因为现在有专门的 SwiftUI API 可以实现此功能。 请参阅此处:如何添加视觉效果模糊
此存储库是 UIVisualEffectView
和 NSVisualEffectView
的包装器,在 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.
特此授予许可,免费向任何获得本软件和相关文档文件(“软件”)副本的人员授予许可,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向已获得本软件的人员授予许可,但须符合以下条件
上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。
本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起、产生或与之相关。