DPS923 MAP523 Week 3 Notes
Thursday, January 16 - classroom lecture
Monday, January 20 - hands-on in the computer-lab
The theme for this week is to continue with interaction topics, which keep building upon your recent knowledge and experience.
Thursday plan
Plan for this week:
- Alert and Action Sheet
- Two-dimensional graphics and touch intro
- Camera and Photo Library
- Apple Developer and deploy app to device
Here is information about alerts and action sheets.
Here is information about two-dimensional graphics and touch.
Here is information about photo library and camera.
Code examples
The course’s GitHub repo has code examples for many topics and techniques. You can download a zip of the code repo, or clone it.
- Alert and action sheet (modal)
- Shapes (2D graphics and touch)
- Camera and image
- UIKit Catalog
Monday plan
Finish the photo library and camera topic we started on Thursday.
Then, work on the programming assignment, and get help from a classmate or the professor if you need it.
Summary
Here’s a list of topics that we learned something about this week:
- Creating UI objects in code (instead of using the storyboard and object library)
- Get the attention of the user with an alert or action sheet
- Introduction to a “modal view” and its meaning
- Gentle introduction to the Apple Human Interface Guidelines, and how they help and guide us to make good design and coding decisions
- Gentle introduction to closures in Swift, including their purpose and their generalized syntax
- Difference in appearance and interaction between the alert and the action sheet
- Similarities in the coding of both (i.e. the sequence of coding steps)
- Role and purpose of a
UIAlertAction
object, and the role and purpose of a UIAlertController
object
- The iOS SDK has five frameworks for graphics; we will introduce UIKit and Core Graphics topics
- The concept of creating a view (
UIView
subclass) programmatically, as a container for graphics content
- A
UIView
subclass includes initializers and a draw(_:)
method
- The concept of layering, where the display hierarchy is composed of “layers”, window, view, subviews
- Create bitmap graphics with an in-memory graphics context
- Coordinate system on iOS starts in upper-left, and is measured in points (not pixels)
- Rich touch support, known as gestures (tap, swipe, etc.)
UIGestureRecognizer
base class is used to detect and act upon guestures
- Using the camera and photo library also requires a programmatically-created controller,
UIImagePickerController
- This controller also requires a delegate to respond to messages (pick/use photo, cancel)
- Must have permission from the user; this is configured in
info.plist
settings
- On the storyboard, a
UIImageView
UI object is used to display an image or photo