This repository will be used for training iOS programming using Swift and UI patterns. Some examples may be simple, but they are used to learn the guidelines of the platform.
Hello World: is an sign in options screen that let the user chose between logging in with Google, Facebook or E-mail. It was developed to train buttons, fields, constraints and autolayout.
Stack View: similar to Hello World, it presents to the user sign in options in a scren. However, different of the Hello World example, this one use a stack view for constraining the buttons on the screen.
WarCard: this app presents some functions of Xcode like putting elements on a new Stack View. It has a card game template, though it's not functional.
WarCard v2: in this version of WarCard, I learned how to use some tools to debug the code. I also leaned how to connect storyboard elements with the viewController code and deal with user taps.
mvc-training: in this app, I try to apply the MVC design pattern using some UI new concepts like separated views and also use object-orientation for studying the model. I also insert elements using the controller instead of the storyboard.
Stack View: in this app, I learned stack views concepts and how it is important in iOS development. I also learn how to deal with constraints inside the stack view and how it behaves in different screens types.
I am rich: this is an app created for learning how to deal with assets.
I am poor: this is an app created for leaning how to deal with personalized assets for many types of screen and to learn how to create and use icon at a project.
Dicee: in this app I learned how to randomize items with switch and how to deal with UI elements in an array.
Magic-8-Ball: same as the previous app, but in this app we have to make decisions about design and functions that are going to be used and do all on our own.
AutoLayout: this app helped me to train some concepts of autolayout and safe area.
CalculatorLayout: in this app, I used some concepts of the storyboard like views and stack views to build a calculator app that works in different types of screen.
Xylophone: here we built a xylophone to understand how to use functions to do things when each button is pressed. We use a single IBAction to perform actions for each button. We also study some things about asynchronous programing to delay the animation of the button when it's pressed.
EggTimer: in this app we build an egg boiler timer using some pratices, like if clauses and dictionaries. Also, we learn how to deal with progress views and how to change data dinamically on the screen.
Typsy: it's an app where we train how to pass data between screens using delegate and learn how to use segues. This app consists in an app where we put the value, the quantity of people and the percentage of the tip. After this, the value is divided for the number of people present.
Quizzler: it's an app where we deal with dynamic data. Some questions are presented and we have to answer yes or no, then the UI will show if our answer was correct by changing the buttons color for a while. In this app, we learn how to deal with timers and progress bars.
Quizzler - Multiple Answers: Same as the previous one, but now we have a bunch of answers and we have to deal with the user choice with multiple answers.
Destini: this app is a kind of You Rather app. Here we learn how to use the MVC pattern.
BMI-Calculator: is this app we make and BMI calculator dealing with segues to pass data between screens. We also learn how to use UI Sliders.
Here we have some codes for praticing concepts of Swift programming, object-oriented programming and Coursera exercises to train Swift concepts learned in the course.
- iOS Tutorial (2020): How To Make Your First App, CodeWithChris (Youtube: https://www.youtube.com/watch?v=09TeUXjzpKs&t=2892s)
- Introduction to Programming in Swift 5, LearnQuest (Coursera)
- iOS & Swift - The Complete iOS App Development Bootcamp, Angela Yu (Udemy)