
- SwiftUI 教程
- SwiftUI - 首頁
- SwiftUI - 概述
- SwiftUI vs UIKit
- SwiftUI 環境
- SwiftUI - 環境設定
- SwiftUI - 基本元件
- SwiftUI - 建立第一個應用程式
- SwiftUI 檢視
- SwiftUI - 檢視
- SwiftUI - 自定義文字檢視
- SwiftUI - 自定義影像檢視
- SwiftUI - 堆疊
- SwiftUI 繪製形狀
- SwiftUI - 形狀
- SwiftUI - 繪製線條
- SwiftUI - 繪製矩形
- SwiftUI - 繪製圓角矩形
- SwiftUI - 繪製三角形
- SwiftUI - 繪製圓形
- SwiftUI - 繪製星形
- SwiftUI - 繪製多邊形
- SwiftUI - 繪製餅圖
- SwiftUI - 使用內建形狀
- SwiftUI - 文字
- SwiftUI - 文字檢視
- SwiftUI - 文字輸入和輸出
- SwiftUI - 顏色
- SwiftUI - 顏色
- SwiftUI - 顏色選擇器
- SwiftUI - 漸變
- SwiftUI - 調整顏色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 陰影效果
- SwiftUI - 懸停效果
- SwiftUI - 動畫
- SwiftUI - 動畫
- SwiftUI - 建立動畫
- SwiftUI - 建立顯式動畫
- SwiftUI - 多個動畫
- SwiftUI - 轉場
- SwiftUI - 非對稱轉場
- SwiftUI - 自定義轉場
- SwiftUI - 圖片
- SwiftUI - 圖片
- SwiftUI - 圖片作為背景
- SwiftUI - 旋轉圖片
- SwiftUI - 媒體
- SwiftUI - 檢視佈局
- SwiftUI - 檢視佈局
- SwiftUI - 檢視大小
- SwiftUI - 檢視間距
- SwiftUI - 檢視填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 靜態列表
- SwiftUI - 動態列表
- SwiftUI - 自定義列表
- SwiftUI - 表格
- SwiftUI - 表單
- SwiftUI - 表單
- SwiftUI - 將表單分成多個部分
- SwiftUI 有用資源
- SwiftUI - 有用資源
- SwiftUI - 討論
SwiftUI - 模糊效果
SwiftUI 中的模糊效果會對使用者介面中指定的檢視、背景或影像應用模糊濾鏡。它通常用於增強視覺體驗,建立深度感,突出指定的元件或改善應用程式的使用者體驗。
SwiftUI 支援高斯模糊濾鏡,這是一種使用稱為高斯函式的數學函式的模糊型別濾鏡。它透過對給定半徑內的畫素進行平均來平滑影像,從而建立模糊效果。在 SwiftUI 中,我們可以透過以下方式實現模糊效果:
- blur() 修飾符
- 材質型別
blur() 修飾符
SwiftUI 提供了一個名為 blur() 的內建修飾符來實現模糊效果。此修飾符允許我們立即向任何檢視新增自定義高斯模糊效果。它通常用於模糊背景以增強前景元件。
語法
以下是語法:
func blur(radius: CGFloat, opaque: Bool = false)->some View
引數
此修飾符采用以下引數:
- radius: 表示模糊的徑向大小。
- opaque: 如果此引數的值為 true,則允許建立不透明模糊。否則,只允許透明。這是一個可選引數。
示例
以下 SwiftUI 程式用於模糊影像檢視。
import SwiftUI struct ContentView: View { var body: some View { VStack{ Text("Original Image:").font(.largeTitle) Image("wallpaper").resizable() .frame(width: 300, height: 300) Text("Blurred Image:").font(.largeTitle) Image("wallpaper") .resizable() .frame(width: 300, height: 300) .blur(radius: 4.5) } } } #Preview { ContentView() }
輸出

材質型別
除了 blur() 修飾符之外,SwiftUI 還為我們提供了另一種建立模糊效果的方法,即材質型別。材質型別是具有不同半透明效果級別的預定義模糊效果的集合。使用這些,我們可以獲得深度感。
它們允許我們模糊背景而不影響前景元素。它們不是檢視,但它們會在檢視及其背景之間建立一個半透明層。它們在 Human Interface Guidelines 中定義。材質型別通常與 background() 或 overlay() 修飾符一起使用。
SwiftUI 支援以下型別的材質型別:
- .regularMaterial: 用於應用常規材質效果。
- .thinMaterial: 用於應用較輕的材質效果。
- .ultraThinMaterial: 用於應用最輕的材質效果。
- .thickMaterial: 用於應用較厚的材質效果。
- .ultraThickMaterial: 用於應用最厚的材質效果。
- .bar: 用於為條形和工具欄應用合適的材質效果。
語法
以下是語法:
.backgound(.thinMaterial)
示例
以下 SwiftUI 程式用於使用材質型別模糊當前檢視。
import SwiftUI struct ContentView: View { var body: some View { ZStack { Rectangle().fill(.mint) VStack{ Text("Thin Material") Rectangle() .frame(width: 250, height: 100) .background(.thinMaterial) Text("Thick Material") Rectangle() .frame(width: 250, height: 100) .background(.thickMaterial) Text("Ultra Thin Material") Rectangle() .frame(width: 250, height: 100) .background(.ultraThinMaterial) Text("Thick Material") Rectangle() .frame(width: 250, height: 100) .background(.ultraThickMaterial) Text("Regular Material") Rectangle() .frame(width: 250, height: 100) .background(.regularMaterial) } } } } #Preview { ContentView() }
輸出

廣告