DPS923 & MAP523

Mobile App Development for iOS

Notes Topics Weekly Resources Graded work Professor Code examples

DPS923 MAP523 Week 12 Notes

Monday, March 30 - online lecture
Thursday, April 2 - online help

A brief overview of layout for iOS apps.

Monday plan

Monday, March 30

We will cover these - discuss, show-and-tell, diagram, etc. - in the Thursday class. While some brief notes are included below, be prepared to take your own notes.

Introduction to layout for iOS apps.

A reminder to learn via the code examples.

Thursday plan

Thursday, April 2

In the first part of the timeslot, Test 4 will be written. It is worth 14%. It covers (again) Core Data topics from about week 9, and the new topics covered since then.

Here is more and general information about the upcoming test.

Then, in the remaining time, work on the programming assignment, and get help from a classmate or the professor if you need it.

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.


Here’s a list of topics that we learned something about this week:

  1. The task of user interface layout is guided by the Auto Layout features in Xcode and Interface Builder.
  2. For the apps that we do in our academic course, scenes other than table views are well-suited to using Auto Layout.
  3. After configuration (placement, constraints), it dynamically sizes and positions the view hierarchy (i.e. all visible elements).
  4. Required knowledge includes screen sizes, orientations, and margins.
  5. You must be prepared to explain the kinds of internal or external changes in a device’s usage that can affect the user interface layout.
  6. A “constraint” is an object that represents a relationship between two views - these are the objects that we’re most interested in.
  7. There’s a statement syntax, and a visual represenation, and either or both can be used.
  8. When using Auto Layout in Xcode and Interface Builder, constraints can be configured with a control-drag action.
  9. Or, by using the Add New Constraints (“pin”) tool.
  10. Or, by using the Align tool.
  11. Typically, configuring constraints is a multi-step task.
  12. One of the final tasks done is to Resolve Auto Layout Issues.
  13. Code examples are probably not as useful as a learning source, when compared to your own hands-on practice.