Skip to content

enesozmus/SwiftfulThinkingBootcamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 

Repository files navigation

🚧 SwiftUI

Kaynak/Reference: Swiftful Thinking

Text(), .font(), .system(), .fontWeight(), .foregroundColor(), .multilineTextAlignment(), .uppercased(), .italic(), .underline(), .strikethrough(), .baselineOffset(), .kerning(), .minimumScaleFactor()

Capsule(style: ), Circle(), Ellipse(), RoundedRectangle(cornerRadius: ), .fill(), .foregroundColor(), .stroke(), trim()

Color(), Color(uiColor: ), Color("_colorSet"), #colorLiteral, .opacity()

.foregroundStyle(), .color.gradient, LinearGradient(), RadialGradient(), AngularGradient(), stride().map{ Color() }, gradient: Gradient(colors: ...)

Image(systemName: ""), .font(), .foregroundColor(), .resizable(), .scaledToFit(), .scaledToFill(), .aspectRatio(contentMode: ), .clipped(), .renderingMode(), .symbolRenderingMode(), .foregroundStyle( , , , ,), .foregroundStyle(.linearGradient, .linearGradient, .linearGradient), cmd + shift + l

Image(""), .resizable(), .scaledToFit(), .scaledToFill(), .frame(width: , height: ), .clipped(), .renderingMode(), .foregroundColor(), .clipShape()

the offered size, frame(minWidth: , idealWidth: , maxWidth: , minHeight: , idealHeight: , maxHeight: , alignment: )

.background(), .overlay()

VStack, HStack, ZStack, default spacing, alignment, spacing

.padding(), .all, .vertical, .horizontal, .leading etc.

spacer(), "an adaptive view with no content" that expands as much as it can

init(), self, enum

ForEach() { }, 0..<10, . index in, (index), [index], .indices

ScrollView(), .vertical, .horizontal, showsIndicators

Lazy Horizontal Grid, Lazy Horizontal Stack, columns, alignment, spacing, pinnedViews, [GridItem], size, .adaptive, .fixed, .flexible, spacing, alignment

Button(""){}, Button(action: /@START_MENU_TOKEN@/{}/@END_MENU_TOKEN@/, label: {}), .accentColor(), padding(), .padding(.horizontal, ), .background(), .stroke()

@State

func name(){...}, :some View, @State, struct name: View, @Binding

Sharing state with subviews, @State, @Binding, $

@State, Bool, .toggle(), .description, if{}else{}, .task { }, ProgressView()

... ? ... : ...

withAnimation() {}, Declarative Animation Syntax, State and Animation, Animated Properties, Animation Parameters, Nested Animations, Animation Types, Custom Animations, Transitions, Gesture-based Animation, Animating View Transitions

.default, .linear, .easeIn, .easeOut, .easeInOut

.default, .linear, .easeIn, .easeOut, .easeInOut, .spring(), .interpolatingSpring(), .timingCurve()

Default Transition, Built-in Transition Types, Custom Transitions, Combined Transitions, AnyTransition, .opacity, .scale, .slide, .move(edge:), .asymmetric

@State, .toggle(), .sheet(), fullScreenCover() isPresented, content, @Environment(.dismiss), dismiss()

.sheet(), fullScreenCover(), .transition(), withAnimation() {}, .animation(), .offset()

Navigation, NavigationStack{}, NavigationLink(), .navigationTitle(""), .navigationBarTitleDisplayMode(), .navigationDestination(for:destination:), NavigationDestination for a boolean @state variable, NavigationStack path parameter, NavigationPath, .toolbar{}, ToolbarItemGroup(){}, NavigationSplitView

[List], List {}, Section(){}, .onDelete(), .onMove(), .listRowBackground(), .listStyle()

Alert(), title:, message:, dismissButton:, primaryButton:, secondaryButton:, action:

confirmationDialog(), titleKey:, isPresented, titleVisibility, data, actions, message

contextMenu(menuItems:), Label("...", systemImage: "...")

TextField(titleKey:, text:, prompt: )

TextEditor(text:), .scrollContentBackground(.hidden), .clipShape(.rect(cornerRadii:)), .colorMultiply(Color(#colorLiteral()))

Toggle(titleKey:, isOn:, label: ), Styling toggles, .toggleStyle(.switch), .toggleStyle(.button)

Picker(), selection:, label:, content:, .tag(), .pickerStyle()

ColorPicker( titleKey:, selection: , supportsOpacity: , label: )

Date(), DateFormatter(), Calendar, ClosedRange<Date>, DateComponents, DatePicker(titleKey:, selection:, in:, displayedComponents:, label: ), .datePickerStyle()

Stepper(titleKey:, value:, step:, format:, label:, onEditingChanged: ), CGFloat, onIncrement:{}, onDecrement:{}

Slider(value:, in:, step:, onEditingChanged:, minimumValueLabel:, maximumValueLabel:, label: ), Text(String(format: "%.2f", sliderValue))

TabView(selection:, content: ), .badge(), .tabItem{}, .tag(), .onAppear(){}, Label(), .tabViewStyle()

.preferredColorScheme(), colors

Adding documentation, markups, and comments, code folding, code blocks

onAppear(perform: {}), onDisappear(perform: {})

if let __ = __ { } else { }, guard let __ = __ else { }

Gesture, TapGesture().onEnded{}, .gesture(), .onTapGesture{}

Gesture, @GestureState, LongPressGesture(), .updating(){}, .onChanged{}, .onEnded{}, .gesture(), .onLongPressGesture(){}, { (isPressing) in ...}, perform:{}, .onTapGesture{}

Gesture, @GestureState, MagnifyGesture(), .updating(){}, .onChanged{},, .onEnded{}, .gesture(), value.magnification

Gesture, Angle, RotateGesture(), .onChanged{}, .onEnded{}, .gesture(), .rotationEffect()

Gesture, DragGesture(), .onChanged{}, .onEnded{}, .gesture(), value.translation, .scaleEffect(), .rotationEffect(), Angle, .offset()

About

This is a top level beginner level course from Nick that makes beginner iOS developers understand and master the basics of SwiftUI. ✅ [52/52]

Topics

Resources

Stars

Watchers

Forks

Languages