Swift UI note

SwiftUI uses Declarative Syntax.

Swift uses Imperative Syntax.

Declarative Syntax lets you specify what you want to be created and the system decides how to do it.

Imperative Syntax forces you to describe exactly how you want an interface item to be created.


Zstack, Vstack, Zstack

     ZStack{

            Color.accentColor

                .ignoresSafeArea()

            HStack(spacing: 20){

                Text("Demo").scaledToFit().frame(width: 100,height: 100, alignment: .center).border(.red)

                VStack(alignment: .trailing,spacing: 30){

                    Text("Tomato Tortellini, Bottarga and Carbonara ").font(.title3)

                        .multilineTextAlignment(.center)

                    Text("Demo 2").font(.title3)

                        .multilineTextAlignment(.center)

                }

            }.frame(width: 200,height: 600)

        }.padding()


Button

Button(role: .destructive) {
print("do something!")
} label: {
HStack {
Image(systemName: "trash")
Text("")
}
}

Toggle

Toggle(isOn: $isShowing) {
Text("Hello World")
}

Stepper

NavigationView
VStack
Text("Current value: \(value)"
Stepper("Number of guests", value: $value, in:1...20
.padding() 
.navigationTitle("Reservation form"

Slider

VStack {
Text("Little Lemon").font(.system(size: size * 50))
Slider(value: $size)
}


Date Picker

struct ContentView: View {
@State var selectedDate = Date()
var dateClosedRange: ClosedRange<Date> {
let min = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
let max = Calendar.current.date(byAdding: .day, value: 1, to: Date())!
return min...max
}
var body: some View {

NavigationView {
Form {
Section {
DatePicker(
selection: $selectedDate,
in: dateClosedRange,
displayedComponents: .date,
label: { Text("Due Date") }
)
}
}
}
}
}


Label

Label("Menu", systemImage: "fork.knife")
.labelStyle(.titleAndIcon)






Nhận xét

Bài đăng phổ biến từ blog này

Flutter 4.5 - Custom theme, font, image

Flutter 1.2 - Flutter Architecture

Flutter 2.5 - First App | Building a Widget Tree