The goal of this class will be learning how to create custom user interface elements with UIKit. We will take a look at the built in UIKit elements to get a better understanding of how they work.
The end product of the class will be a library of UI elements built from scratch.
Class projects will include the creation of a Make School set of UI elements. Students will all contribute to the library using Github. The goal for each student is to provide at least one new and unique UI element to the library. Students will also create their own customized UI elements that can be used in their own projects.
By the end of this course, we will learn about:
- the fundamentals of UIKit
- view and layer hierarchy
- Gestures
- Animations
- Using cocoapods
- Contributing to open source
- Mathematics for geometry eg. circles
- Particle effects
Students should be able to:
- Use the coordinate system to design and build their projects.
- Use events and triggers to handle user interactions
- Build flexible UI controls using subclasses
- Modify and architect UI elements that are flexible using: @IBDesignable and @IBInspectable
- Describe the view hierarchy in iOS
- Use new communication patterns like target-action
- Introduction to UIKit, class policies, syllabus review
- View Heirarcy
- Positioning - Frame, Bounds, Center & Origin
- Layers & Beziers
- View Lifecycle
- Animation - View Based
- Animation - Layer Based
- Contributing to Open Source - Cococapods & Cocoacontrols
- Library Project - Introduction & Specifications
- Physics & Particle Generators
- Circle Math
- Handling User Interactions - Touches
- Handling User Interactions - Gesture Recognizers
- Project Demos
To pass the course, students will have:
1. Completed all challenges.
1. Completed the micro interaction project
2. Produced a UIKit control that can be downloaded on cocoapods.org and or cocoacontrols.com