Button
ปุ่มคำสั่ง (Button) เป็นหนึ่งใน UI Control ที่มีบทบาทพื้นฐานที่สุดในการพัฒนาแอปพลิเคชัน เพราะทำหน้าที่เป็น “ตัวกระตุ้นเหตุการณ์” (Event Trigger) ที่เชื่อมต่อการโต้ตอบของผู้ใช้เข้ากับตรรกะของระบบ
SwiftUI ออกแบบ Button ให้มีองค์ประกอบหลักสองส่วน คือ
Action: คำสั่งที่ต้องการให้เกิดขึ้นเมื่อผู้ใช้กดปุ่ม
Label: ส่วนแสดงผลของปุ่ม (ข้อความ ไอคอน หรือ View อื่น ๆ)
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack(spacing: 20) {
Button("Increase") {
count += 1
}
Text("Count: \(count)")
}
.padding()
}
}
ในการใช้งานจริง มักใช้รูปแบบที่แยกส่วน Action และ Label อย่างชัดเจน ซึ่งช่วยให้นักพัฒนาสามารถออกแบบ View ของ Label ซึ่งมีโครงสร้างที่ซับซ้อนได้
การกำหนดรูปแบบปุ่มด้วย .buttonStyle
โดยรูปแบบที่ใช้บ่อย ได้แก่
การกำหนดสีด้วย .tint
การควบคุมขนาดด้วย .controlSize
โดยมีตัวเลือกต่างๆ เช่น
การปิดการใช้งานปุ่มด้วย .disabled
การตกแต่ง Layout และ Appearance
เนื่องจาก Button เป็น View ปกติ จึงสามารถใช้ Layout Modifier ได้
ในระดับที่สูงขึ้น สามารถสร้าง Style เองได้
ตัวอย่างการนำไปใช้งาน