diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..9a02f02 --- /dev/null +++ b/Readme.md @@ -0,0 +1,66 @@ +| ID | Title | Image | Code-Link | +| ----------- | ----------- | ----------- | ----------- | +| P01 | \ | | | +| P02 | \ | ![](images/ContentView.png) | [ContentView.swift](SwiftfulThinkingBootcamp/ContentView.swift) | +| P03 | \ | ![](images/TextBootcamp.png) | [TextBootcamp.swift](SwiftfulThinkingBootcamp/TextBootcamp.swift) | +| P04 | \ | ![](images/ShapesBootcamp.png) | [ShapesBootcamp.swift](SwiftfulThinkingBootcamp/ShapesBootcamp.swift) | +| P05 | \ | ![](images/ColorsBootcamp.png) | [ColorsBootcamp.swift](SwiftfulThinkingBootcamp/ColorsBootcamp.swift) | +| P06 | \ | ![](images/GradientsBootcamp.png) | [GradientsBootcamp.swift](SwiftfulThinkingBootcamp/GradientsBootcamp.swift) | +| P07 | \ | ![](images/IconsBootcamp.png) | [IconsBootcamp.swift](SwiftfulThinkingBootcamp/IconsBootcamp.swift) | +| P08 | \ | ![](images/ImageBootcamp.png) | [ImageBootcamp.swift](SwiftfulThinkingBootcamp/ImageBootcamp.swift) | +| P09 | \ | ![](images/FrameBootcamp.png) | [FrameBootcamp.swift](SwiftfulThinkingBootcamp/FrameBootcamp.swift) | +| P10 | \ | ![](images/BackgroundAndOverlayBootcamp.png) | [BackgroundAndOverlayBootcamp.swift](SwiftfulThinkingBootcamp/BackgroundAndOverlayBootcamp.swift) | +| P11 | \ | ![](images/StacksBootcamp.png) | [StacksBootcamp.swift](SwiftfulThinkingBootcamp/StacksBootcamp.swift) | +| P12 | \ | ![](images/PaddingAndSpacerBootcamp.png) | [PaddingAndSpacerBootcamp.swift](SwiftfulThinkingBootcamp/PaddingAndSpacerBootcamp.swift) | +| P13 | \ | ![](images/SpacerBootcamp.png) | [SpacerBootcamp.swift](SwiftfulThinkingBootcamp/SpacerBootcamp.swift) | +| P14 | \ | ![](images/InitializerBootcamp.png) | [InitializerBootcamp.swift](SwiftfulThinkingBootcamp/InitializerBootcamp.swift) | +| P15 | \ | ![](images/ForEachBootcamp.png) | [ForEachBootcamp.swift](SwiftfulThinkingBootcamp/ForEachBootcamp.swift) | +| P16 | \ | ![](images/ScrollViewBootcamp.png) | [ScrollViewBootcamp.swift](SwiftfulThinkingBootcamp/ScrollViewBootcamp.swift) | +| P17 | \ | ![](images/GridBootcamp.png) | [GridBootcamp.swift](SwiftfulThinkingBootcamp/GridBootcamp.swift) | +| P18 | \ | ![](images/SafeAreaBootcamp.png) | [SafeAreaBootcamp.swift](SwiftfulThinkingBootcamp/SafeAreaBootcamp.swift) | +| P19 | \ | ![](images/ButtonsBootcamp.png) | [ButtonsBootcamp.swift](SwiftfulThinkingBootcamp/ButtonsBootcamp.swift) | +| P20 | \ | ![](images/StateBootcamp.png) | [StateBootcamp.swift](SwiftfulThinkingBootcamp/StateBootcamp.swift) | +| P21 | \ | ![](images/ExtractedFunctionsBootcamp.png) | [ExtractedFunctionsBootcamp.swift](SwiftfulThinkingBootcamp/ExtractedFunctionsBootcamp.swift) | +| P22 | \ | ![](images/ExtractSubviewsBootcamp.png) | [ExtractSubviewsBootcamp.swift](SwiftfulThinkingBootcamp/ExtractSubviewsBootcamp.swift) | +| P23 | \ | ![](images/BindingBootcamp.png) | [BindingBootcamp.swift](SwiftfulThinkingBootcamp/BindingBootcamp.swift) | +| P24 | \ | ![](images/ConditionalBootcamp.png) | [ConditionalBootcamp.swift](SwiftfulThinkingBootcamp/ConditionalBootcamp.swift) | +| P25 | \ | ![](images/TernaryBootcamp.png) | [TernaryBootcamp.swift](SwiftfulThinkingBootcamp/TernaryBootcamp.swift) | +| P26 | \ | ![](images/AnimationBootcamp.png) | [AnimationBootcamp.swift](SwiftfulThinkingBootcamp/AnimationBootcamp.swift) | +| P27 | \ | ![](images/AnimationTimingBootcamp.png) | [AnimationTimingBootcamp.swift](SwiftfulThinkingBootcamp/AnimationTimingBootcamp.swift) | +| P28 | \ | ![](images/TransitionBootcamp.png) | [TransitionBootcamp.swift](SwiftfulThinkingBootcamp/TransitionBootcamp.swift) | +| P29 | \ | ![](images/SheetsBootcamp.png) | [SheetsBootcamp.swift](SwiftfulThinkingBootcamp/SheetsBootcamp.swift) | +| P30 | \ | ![](images/PopoverBootcamp.png) | [PopoverBootcamp.swift](SwiftfulThinkingBootcamp/PopoverBootcamp.swift) | +| P31 | \ | ![](images/NavigationViewBootcamp.png) | [NavigationViewBootcamp.swift](SwiftfulThinkingBootcamp/NavigationViewBootcamp.swift) | +| P32 | \ | ![](images/ListBootcamp.png) | [ListBootcamp.swift](SwiftfulThinkingBootcamp/ListBootcamp.swift) | +| P33 | \ | ![](images/AlertBootcamp.png) | [AlertBootcamp.swift](SwiftfulThinkingBootcamp/AlertBootcamp.swift) | +| P34 | \ | ![](images/ActionsheetBootcamp.png) | [ActionsheetBootcamp.swift](SwiftfulThinkingBootcamp/ActionsheetBootcamp.swift) | +| P35 | \ | ![](images/ContextMenuBootcamp.png) | [ContextMenuBootcamp.swift](SwiftfulThinkingBootcamp/ContextMenuBootcamp.swift) | +| P36 | \ | ![](images/TextfieldBootcamp.png) | [TextfieldBootcamp.swift](SwiftfulThinkingBootcamp/TextfieldBootcamp.swift) | +| P37 | \ | ![](images/TextEditorBootcamp.png) | [TextEditorBootcamp.swift](SwiftfulThinkingBootcamp/TextEditorBootcamp.swift) | +| P38 | \ | ![](images/ToggleBootcamp.png) | [ToggleBootcamp.swift](SwiftfulThinkingBootcamp/ToggleBootcamp.swift) | +| P39 | \ | ![](images/PickerBootcamp.png) | [PickerBootcamp.swift](SwiftfulThinkingBootcamp/PickerBootcamp.swift) | +| P40 | \ | ![](images/ColorPickerBootcamp.png) | [ColorPickerBootcamp.swift](SwiftfulThinkingBootcamp/ColorPickerBootcamp.swift) | +| P41 | \ | ![](images/DatePickerBootcamp.png) | [DatePickerBootcamp.swift](SwiftfulThinkingBootcamp/DatePickerBootcamp.swift) | +| P42 | \ | ![](images/StepperBootcamp.png) | [StepperBootcamp.swift](SwiftfulThinkingBootcamp/StepperBootcamp.swift) | +| P43 | \ | ![](images/SliderBootcamp.png) | [SliderBootcamp.swift](SwiftfulThinkingBootcamp/SliderBootcamp.swift) | +| P44 | \ | ![](images/TabViewBootcamp.png) | [TabViewBootcamp.swift](SwiftfulThinkingBootcamp/TabViewBootcamp.swift) | +| P45 | \ | ![](images/DarkModeBootcamp.png) | [DarkModeBootcamp.swift](SwiftfulThinkingBootcamp/DarkModeBootcamp.swift) | +| P46 | \ | ![](images/DocumentationBootcamp.png) | [DocumentationBootcamp.swift](SwiftfulThinkingBootcamp/DocumentationBootcamp.swift) | +| P47 | \ | ![](images/OnAppearBootcamp.png) | [OnAppearBootcamp.swift](SwiftfulThinkingBootcamp/OnAppearBootcamp.swift) | +| P48 | \ | ![](images/IfLetGuardBootcamp.png) | [IfLetGuardBootcamp.swift](SwiftfulThinkingBootcamp/IfLetGuardBootcamp.swift) | +| P49 | \ | ![](images/TapGestureBootcamp.png) | [TapGestureBootcamp.swift](SwiftfulThinkingBootcamp/TapGestureBootcamp.swift) | +| P50 | \ | ![](images/ModelBootcamp.png) | [ModelBootcamp.swift](SwiftfulThinkingBootcamp/ModelBootcamp.swift) | +| P51 | \ | ![](images/ViewModelBootcamp.png) | [ViewModelBootcamp.swift](SwiftfulThinkingBootcamp/ViewModelBootcamp.swift) | +| P52 | \ | ![](images/EnvironmentObjectBootcamp.png) | [EnvironmentObjectBootcamp.swift](SwiftfulThinkingBootcamp/EnvironmentObjectBootcamp.swift) | +| P53 | \ | ![](images/AppStorageBootcamp.png) | [AppStorageBootcamp.swift](SwiftfulThinkingBootcamp/AppStorageBootcamp.swift) | +| P54 | \ | ![](images/OnboardingViews_IntroView.png) | [OnboardingViews.swift](SwiftfulThinkingBootcamp/OnboardingViews.swift) | +| | | ![](images/OnboardingViews_ProfileView.png) | [OnboardingViews.swift](SwiftfulThinkingBootcamp/OnboardingViews.swift) | +| | | ![](images/OnboardingViews_OnboardingView.png) | [OnboardingViews.swift](SwiftfulThinkingBootcamp/OnboardingViews.swift) | +| P55 | \ | ![](images/AsyncImageBoocamp.png) | [AsyncImageBoocamp.swift](SwiftfulThinkingBootcamp/AsyncImageBoocamp.swift) | +| P56 | \ | ![](images/BackgroundMaterialsBootcamp.png) | [BackgroundMaterialsBootcamp.swift](SwiftfulThinkingBootcamp/BackgroundMaterialsBootcamp.swift) | +| P57 | \ | ![](images/TextSelectionBootcamp.png) | [TextSelectionBootcamp.swift](SwiftfulThinkingBootcamp/TextSelectionBootcamp.swift) | +| P58 | \