SwiftUI Button元件基本使用
xcode 13.4.1, swift 5.5, iOS 15.4
2022-08-16
Button的元件,應該是所有App最常用的元件之一,這次講講Button元件怎樣使用。
1. 一個完整Button需要兩部分,一是顯示的樣式,二是用戶按下之後要運行程式碼。
import SwiftUI
struct ButtonExample: View {
var body: some View {
Button("Tap me") {
print("You tap me!")
}
}
}
以下程式的Button只是顯示Tap me的字符串,按下後只做一件事,就是打印You tap me!的字符串,結果如下:
2. 以下是另一種創建Button的,雖比第一種複雜,但卻給大家更大的自由度去進行客制化,而不是只是簡單文字,實作如下,:
import SwiftUI
struct ButtonExample: View {
var body: some View {
Button {
print("You tap me!")
} label: {
Text("Tap me")
}
}
}
3. 我們可以先試試改變Text的樣式,比如顏色、字體及其大小等:
import SwiftUI
struct ButtonExample: View {
var body: some View {
Button {
print("You tap me!")
} label: {
Text("Tap me")
.font(.system(size: 20, weight: .heavy, design: .rounded))
.foregroundColor(.orange)
.padding()
.border(.gray)
}
}
}
4. 除了Text,現在可以試試Label元件,Label元件除了有文字,還可以顯示SF Symbols,例子如下:
import SwiftUI
struct ButtonExample: View {
var body: some View {
Button {
print("You tap me!")
} label: {
Label("Tap me", systemImage: "hand.tap")
}
}
}
5. 以下試試使用Image元件來作為Button的顯示樣式:
import SwiftUI
struct ButtonExample: View {
var body: some View {
Button {
print("You tap me!")
} label: {
Image(systemName: "hand.tap")
.font(.system(size: 90, weight: .heavy, design: .rounded))
.padding(30)
.background(.blue)
.foregroundColor(.white)
.clipShape(Circle())
}
}
}