概述
在 SwiftUI 中使用 Text 和 Image 是一個基本而常見的需求,能幫助開發者在應用程式中輕鬆地展示文字和圖片。隨著 SwiftUI 的不斷更新,本文將介紹 **2025 最新語法與最佳實踐**,並提供詳細的實作範例,幫助你打造更美觀的 App。
使用 Text
在 SwiftUI 中,使用 Text
來顯示文字非常簡單。你可以直接用一個 String
作為參數,例如:
Text("Hello, World!")
除了接受 String
,Text
還能接受一個 AttributedString
作為參數,這樣你可以靈活地改變文字的顏色、大小和字型等屬性:
let attributedString = AttributedString("Hello, World!", attributes: .init([
.font: UIFont.systemFont(ofSize: 20),
.foregroundColor: UIColor.red
]))
Text(attributedString)
使用 Image
在 SwiftUI 中,使用 Image
來顯示圖片也很簡單。你可以使用 UIImage
來載入本地圖片,例如:
if let image = UIImage(named: "myImage") {
Image(uiImage: image)
}
如果你需要從網路上載入圖片,可以使用 AsyncImage
,這是 SwiftUI 中的一個新特性:
AsyncImage(url: URL(string: "https://example.com/myImage.png")) { image in
image.resizable().scaledToFit()
} placeholder: {
ProgressView()
}
結合 Text 和 Image
為了更好地展示文字和圖片,你可以將 Text
和 Image
結合在一起。例如,你可以使用 HStack
來水平排列它們:
HStack {
Image(systemName: "star.fill") // 使用 SF Symbols 示例
.resizable()
.frame(width: 20, height: 20)
Text("Hello, World!")
}
這樣就可以在 App 中同時顯示文字和圖片,讓你的 App 更加美觀。
錯誤排除
在使用 Text
和 Image
時,可能會遇到一些常見問題:
– **圖片無法顯示**:確認圖片名稱是否正確,或者檢查 URL 是否有效。
– **文字格式不正確**:確保使用正確的屬性和方法來設置 AttributedString
。
延伸應用
– 使用 Image
和 Text
來製作卡片樣式的 UI。
– 利用 HStack
和 VStack
組合不同的視圖,創建更複雜的界面。
Q&A(常見問題解答)
1. 如何在 SwiftUI 中自定義文字樣式?
可以使用 AttributedString
來設置字體、顏色等屬性,具體方法可以參考上述的示例。
2. 如何從網路加載圖片?
使用 AsyncImage
可以簡單地從 URL 加載圖片,並且支持顯示加載佔位符。
3. SwiftUI 中的圖片和文字是否支持動態更新?
是的,SwiftUI 支持動態更新,只需確保你的數據源是可觀察的(如使用 @State
或 @Binding
)。
—