Swift
Beginner
1 min read
SwiftUI Basics
Example
import SwiftUI
// Basic view
struct ContentView: View {
@State private var count = 0
@State private var name = ""
var body: some View {
VStack(spacing: 20) {
Text("Count: \(count)")
.font(.largeTitle)
.foregroundColor(count > 0 ? .green : .primary)
HStack {
Button("−") { count -= 1 }
.buttonStyle(.bordered)
Button("+") { count += 1 }
.buttonStyle(.borderedProminent)
}
TextField("Enter name", text: $name)
.textFieldStyle(.roundedBorder)
.padding(.horizontal)
if !name.isEmpty {
Text("Hello, \(name)!")
.transition(.slide)
}
}
.padding()
.animation(.default, value: name)
}
}
// List view
struct TodoItem: Identifiable {
let id = UUID()
var title: String
var isDone: Bool
}
struct TodoListView: View {
@State private var items = [
TodoItem(title: "Learn SwiftUI", isDone: true),
TodoItem(title: "Build an app", isDone: false),
]
var body: some View {
List($items) { $item in
HStack {
Image(systemName: item.isDone ? "checkmark.circle.fill" : "circle")
.foregroundColor(item.isDone ? .green : .gray)
Text(item.title)
.strikethrough(item.isDone)
}
.onTapGesture { item.isDone.toggle() }
}
.navigationTitle("Todo List")
}
}