SwiftUI - 效果



效果是指應用於檢視的視覺修改或轉換,用於自定義檢視的外觀或行為。它們只增強檢視的視覺外觀,不會影響佈局,因為它們不允許修改檢視的佈局。

使用這些效果,我們可以將各種效果(如陰影、模糊、旋轉、飽和度、色相等)應用於任何檢視或元件,例如文字、影像、形狀、按鈕等。它們透過提高內容的可讀性或建立互動式元件來增強使用者體驗。

在 SwiftUI 中應用效果

SwiftUI 支援各種預定義的修飾符,例如陰影、懸停、模糊等,可用於增強檢視的外觀。因此,只需使用這些修飾符,我們就可以將效果應用於檢視。我們可以使用點運算子直接使用這些修飾符,例如:

Text("TutorialsPoint").blur(radius:12)

示例 1

下面的 SwiftUI 程式用於在文字檢視上應用模糊效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {            
         // Without any effect
         Text("TutorialsPoint").font(.largeTitle).foregroundStyle(.green)
            
         // With blur effect
         Text("TutorialsPoint")
            .font(.largeTitle)
            .foregroundStyle(.green)
            .blur(radius: 4)
      }.padding()
   }
}
#Preview {
   ContentView()
}

輸出

Effects

示例 2

下面的 SwiftUI 程式用於在文字檢視上應用多個效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         // Without any effect
         Text("TutorialsPoint").font(.largeTitle).foregroundStyle(.green)
            
         // With multiple effects
         Text("TutorialsPoint")
            .foregroundStyle(.green)
            .padding(20)
            .shadow(radius: 5)
            .rotationEffect(.degrees(10))
            .scaleEffect(2.3)
      }.padding()
   }
}
#Preview {
    ContentView()
}

輸出

Effects

SwiftUI 中的效果型別

SwiftUI 支援以下型別的效果:

序號 效果 描述
1 scaleEffect() 用於增加或減小檢視的大小(水平和垂直)。
2 rotationEffect() 用於在二維平面中圍繞給定點旋轉檢視。
3 transformEffect() 用於將仿射變換應用於給定檢視。仿射變換包括檢視的旋轉、縮放、平移或傾斜。
4 blur() 用於將高斯模糊應用於指定的檢視。
5 shadow() 用於在指定的檢視上應用陰影效果。
6 blendMode() 用於混合兩個重疊的檢視。
7 hoverEffect() 用於在指定的檢視上應用懸停效果。
8 colorEffect() 用於將濾鏡效果應用於每個畫素的顏色。
9 distortionEffect() 用於將幾何失真效果應用於給定檢視的每個畫素。
10 layerEffect() 用於在檢視的光柵層上應用組合濾鏡。
11 visualEffect() 透過使用幾何代理訪問檢視的佈局詳細資訊來應用可動畫的視覺效果。
12 adjustColorEffect() 用於將基本的顏色效果應用於檢視,例如飽和度、亮度、對比度、色相旋轉和顏色相乘。
廣告