Skip to content

UIKit Fundamentals

Free Course

Learn the iOS User Interface Library

Related Nanodegree Program

Introduction to Programming

About this course

In this course, you will build a series of simple apps to become more comfortable with the UIKit framework and master its most widely used components. This framework constitutes the building blocks of the user interface for all iOS apps, and is crucial for any iOS Developer to be intimately familiar with.

What you will learn

  1. How to Use Outlets and Actions
    • Connect outlets and actions first using only code and a second time using storyboard.
    • Use core UIKit classes like UIButton, UILabel and UISwitch.
    • Practice debugging problems with IBOutlets and IBActions.
  2. Learn to Present Views and Segue Between Views
    • See how Apple distinguishes between modal presentation and navigation.
    • Learn how to present views modally.
    • Use powerful UIKit classes like UIImagePickerController, UIAlertController and UIActivityViewController.
  3. What is the Delegate Pattern and how do you use it?
    • Learn how delegates make important connections between the model, view, and controller.
    • Implement UIKit components that make use of the delegate pattern, UITextField and UITextFieldDelegate.
    • Demonstrate your understanding by building a series of challenge apps.
  4. Build V1.0 of the Meme Me App
    • Enable the user to choose an image using UIImagePickerController and UIImagePickerControllerDelegate.
    • Adjust the keyboard so that it does not obscure UI elements.
    • Generate a meme and share it using a UIActivityView.
  5. Build Tables using the UITableView class
    • Learn the essential UITableViewDelegate and UITableViewDatasource methods.
    • Explore the code for several apps with tables, and then implement your own UITableView.
    • Practice manipulating table cells.
  6. iOS App Navigation
    • Learn how iOS uses navigation stacks to manage multiple views in an app.
    • Create the navigation that enables a user to tap a row of a table and view the details of an item.
    • Learn navigation classes like UINavigationControll and UIBarButtonItem.
  7. Complete the Meme Me App
    • Take Meme Me to the next level with this final version of the app.
    • Learn a simple way to share data across classes using the AppDelegate.
    • Use UICollectionView to display the app's memes in a grid and UITabViewController to toggle between meme layouts.

Prerequisites and requirements

This course assumes prior iOS experience. Specifically, it assumes that you have built at least one single-view app, and can use Xcode to modify swift files and storyboard scenes. You should know what a View Controller is, and know how to create outlets and actions. You should also have basic familiarity of the Swift programming language.

The course also assumes basic familiarity with Git. Specifically, you will need to be able to clone git repositories and checkout branches specific to each lesson.

You will need access to a Mac computer running OS X 10.10 or later. However, you do not need an iPad or iPhone to complete the activities. All exercises can be completed using the iOS simulator built into Xcode.

See the Technology Requirements for using Udacity.

Why take this course?

You’ve built your first iOS app. It was fun, but you might not be comfortable creating apps from scratch. After completing this course, you’ll have the skills you will need to create the UI elements for almost any app. During this course, you’ll learn everything you need to know about UIKit, from buttons to table views. To become fluent with UIKit requires practice, and this course will provide you with opportunities to create small working apps to build your skill set.

Learn with the best.

  • Gabrielle Miller-Messner
    Gabrielle Miller-Messner