Skip to content

Latest commit

 

History

History
145 lines (102 loc) · 4.95 KB

File metadata and controls

145 lines (102 loc) · 4.95 KB
GK

Swift 玻璃

Swift 版本 支援平台 授權條款

SwiftGlass@3x-hc

特色

🔄 跨平台:支援 iOS、macOS、watchOS、tvOS 同 visionOS
原生 visionOS 支援:喺 visionOS 上面用原生嘅玻璃效果
🎨 高度自訂:調整顏色、材質、陰影等多種特性
🧩 SwiftUI 整合:簡單嘅 ViewModifier 實現方式

效果展示

螢幕截圖 2025-04-20 下午4點16分55秒 圖片 圖片
iOS watchOS I watchOS II
圖片 圖片
macOS (暗色模式) I macOS (暗色模式) II
圖片 圖片
tvOS I tvOS II
圖片 圖片
visionOS iPadOS

測試平台同環境

支援 iOS 15.0+、macOS 14.0+、watchOS 10.0+、tvOS 15.0+ 同 visionOS 1.0+

Xcode 16.3(非最低要求)

圖片

專案示範(快速開始)

打開 /Demo/Demo.xcodeproj

安裝(加入你嘅專案)

Swift Package Manager

通過 Swift Package Manager 將 SwiftGlass 加入你嘅專案

專案 > Package Dependencies > +

https://github.com/1998code/SwiftGlass.git
螢幕截圖 2025-04-20 下午4點29分46秒

或者你可以跟住以下方式手動添加

dependencies: [
    .package(url: "https://github.com/1998code/SwiftGlass.git", from: "1.0.0")
]

使用方法

基本使用(視圖 / 按鈕 / 任何地方)

螢幕截圖 2025-04-20 下午2點41分51秒
import SwiftUI
import SwiftGlass

struct ContentView: View {
    var body: some View {
        Text("你好, 玻璃!")
            .padding(40)
            .glass() // 使用預設玻璃效果
    }
}

自訂玻璃效果

螢幕截圖 2025-04-20 下午2點40分11秒
VStack {
    Text("自訂玻璃")
    Image(systemName: "sparkles")
}
.padding(30)
.glass(
    radius: 20,
    color: .blue,
    material: .regularMaterial,
    gradientOpacity: 0.7,
    shadowColor: .blue,
    shadowRadius: 10
)

自訂選項

SwiftGlass 提供豐富嘅自訂選項:

參數 類型 預設值 描述
displayMode .always.automatic .always 控制效果顯示嘅時機
radius CGFloat 32 玻璃效果嘅圓角半徑
color Color .white 漸變同高光嘅基礎顏色
material Material .ultraThinMaterial SwiftUI 材質樣式
gradientOpacity Double 0.5 漸變疊加層嘅不透明度
gradientStyle .normal.reverted .normal 漸變嘅方向樣式
strokeWidth CGFloat 1.5 邊框描邊嘅闊度
shadowColor Color .white 陰影顏色
shadowOpacity Double 0.5 陰影嘅不透明度
shadowRadius CGFloat? nil 陰影嘅模糊半徑
shadowX CGFloat 0 陰影嘅水平偏移量
shadowY CGFloat 5 陰影嘅垂直偏移量

平台特定說明

  • visionOS:喺 visionOS 上面,SwiftGlass 使用原生嘅 .glassBackgroundEffect() 嚟獲得最佳渲染同系統整合
  • 其他平台:透過組合材質、漸變同陰影嘅自訂實現嚟達到類似效果

貢獻

歡迎為 SwiftGlass 做出貢獻!

  • 要報告錯誤或請求功能,請喺 GitHub 上提出 issue
  • 提交 pull request 嗰陣,請遵循專案嘅代碼風格

授權條款

MIT。詳細資訊請睇 LICENSE 文件。