從程式設定籌碼圖片的顏色和金額

從以下連結下載籌碼圖片

將圖片加到 asset,設為 Template Image

SwiftUI 程式範例

定義籌碼圖片的 ChipView。

struct ChipView: View {
let number: Int
let color: Color

var body: some View {
Image("chip")
.resizable()
.scaledToFit()
.frame(width: 100)
.foregroundColor(color)
.background(content: {
Color.white
})
.clipShape(Circle())
.overlay {
Text("\(number/1000)K")
.font(.custom("Chalkboard SE", size: 25))
.foregroundColor(.white)
}
}
}

App 畫面。

struct ContentView: View {
var body: some View {
ZStack {
Color.green
.ignoresSafeArea()

HStack {
ChipView(number: 1000, color: .red)
ChipView(number: 10000, color: .blue)

}
}

}
}

漸層的籌碼

iOS 15 以上可呼叫 foregroundStyle 設定漸層。

struct ChipView: View {
let number: Int
let color: Color

var body: some View {
Image("chip")
.resizable()
.scaledToFit()
.frame(width: 100)
.foregroundStyle(color.gradient)
.background(content: {
Color.white
})
.clipShape(Circle())
.overlay {
Text("\(number/1000)K")
.font(.custom("Chalkboard SE", size: 25))
.foregroundColor(.white)
}
}
}

使用 RadialGradient 生成放射漸層。

struct ChipView: View {
let number: Int
let color: Color

var body: some View {
Image("chip")
.resizable()
.scaledToFit()
.frame(width: 100)
.foregroundStyle(
RadialGradient(gradient: Gradient(colors: [color, Color.black]), center: .center, startRadius: 5, endRadius: 100)
)
.background(content: {
Color.white
})
.clipShape(Circle())
.overlay {
Text("\(number/1000)K")
.font(.custom("Chalkboard SE", size: 25))
.foregroundColor(.white)
}
}
}

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com