概述

在 SwiftUI 中使用 Text 和 Image 是一個基本而常見的需求,能幫助開發者在應用程式中輕鬆地展示文字和圖片。隨著 SwiftUI 的不斷更新,本文將介紹 **2025 最新語法與最佳實踐**,並提供詳細的實作範例,幫助你打造更美觀的 App。

使用 Text

在 SwiftUI 中,使用 Text 來顯示文字非常簡單。你可以直接用一個 String 作為參數,例如:

Text("Hello, World!")

除了接受 StringText 還能接受一個 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

為了更好地展示文字和圖片,你可以將 TextImage 結合在一起。例如,你可以使用 HStack 來水平排列它們:

HStack {
    Image(systemName: "star.fill") // 使用 SF Symbols 示例
        .resizable()
        .frame(width: 20, height: 20)
    Text("Hello, World!")
}

這樣就可以在 App 中同時顯示文字和圖片,讓你的 App 更加美觀。

錯誤排除

在使用 TextImage 時,可能會遇到一些常見問題:
– **圖片無法顯示**:確認圖片名稱是否正確,或者檢查 URL 是否有效。
– **文字格式不正確**:確保使用正確的屬性和方法來設置 AttributedString

延伸應用

– 使用 ImageText 來製作卡片樣式的 UI。
– 利用 HStackVStack 組合不同的視圖,創建更複雜的界面。

在 SwiftUI 中使用 Text 和 Image

Q&A(常見問題解答)

1. 如何在 SwiftUI 中自定義文字樣式?

可以使用 AttributedString 來設置字體、顏色等屬性,具體方法可以參考上述的示例。

2. 如何從網路加載圖片?

使用 AsyncImage 可以簡單地從 URL 加載圖片,並且支持顯示加載佔位符。

3. SwiftUI 中的圖片和文字是否支持動態更新?

是的,SwiftUI 支持動態更新,只需確保你的數據源是可觀察的(如使用 @State@Binding)。

Categorized in:

Tagged in:

,