UIKit Fundamentals (Udacity)

Offered by Udacity,
UIKit Fundamentals (Udacity)

Learn the iOS User Interface Library. 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.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

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.

What You Will Learn

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Offline Web Applications (Udacity) Udacity
Udacity,Google

Offline Web Applications (Udacity)

Using IndexedDB & Service Worker. This course is focused squarely on user experience, and seeks to show developers how thinking offline-first is the best way to ensure that applications perform their best in all scenarios, not just ideal ones. You'll learn to recognize the differences between good, poor, intermittent, and missing connectivity for your users , and master how to make applications that navigate these conditions with ease.

Self Paced
Self-Paced
Web Application Development: Basic Concepts (Coursera) Coursera
University of New Mexico

Web Application Development: Basic Concepts (Coursera)

This is the first course in a Coursera Specialization track involving Web Application Architectures. This course will give you the basic background, terminology and fundamental concepts that you need to understand in order to build modern full stack web applications. A full stack web developer is familiar with each "layer" of the software technologies involved in a web application, including data modeling and database technologies, the web server environment and middleware components, network protocols, the user interface and basic visual design and user interaction concepts.

Nov 9th 2026
5-12 Weeks
Building Interactive Web Pages Using Modern JavaScript (Coursera) Coursera
NIIT StackRoute

Building Interactive Web Pages Using Modern JavaScript (Coursera)

Most businesses with a strong online presence wish to provide its consumers a rich interactive user experience. HTML5 and CSS3 frameworks help you build a static web page, that displays content and works on any device. However, to make a page interactive you need a programming language that can be understood by the browsers. JavaScript is one of the core technologies of the World Wide Web.

Nov 9th 2026
5-12 Weeks
Fundamentals of Flux (Coursera) Coursera
Board Infinity

Fundamentals of Flux (Coursera)

Welcome to the "Fundamentals of Flux" course, where you will embark on a journey to become proficient in Flux, a robust architecture for building web applications. Over the course of two comprehensive modules, you will acquire the skills and knowledge necessary to create scalable, maintainable, and efficient web applications using Flux.

Nov 23rd 2026
2 Weeks
Deploy a website to Azure with Azure App Service (Coursera) Coursera
Microsoft

Deploy a website to Azure with Azure App Service (Coursera)

In this course, you will see how web apps in Azure allow you to publish and manage your website easily without having to work with the underlying servers, storage, or network assets. Instead, you can focus on your website features and rely on the robust Azure platform to provide secure access to your site. You will see how Azure App Service enables you to build and host web applications in the programming language of your choice without managing infrastructure. You will also learn how to create a website through the hosted web app platform in Azure App Service.

Nov 9th 2026
5-12 Weeks
Swift for Beginners (Udacity) Udacity
Udacity

Swift for Beginners (Udacity)

Your First Programming Language. In this course, you’ll begin learning Swift, Apple's programming language for building iOS applications. You'll start with fundamentals and work your way towards understanding all the core principles necessary to get started creating your first app. At the end of the course, you'll complete a problem set of exercises designed to challenge your understanding of Swift and give you the opportunity to apply what you've learned.

Self Paced
Self-Paced
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Nov 23rd 2026
4 Weeks
Grand Central Dispatch (GCD) (Udacity) Udacity
Udacity

Grand Central Dispatch (GCD) (Udacity)

Perform Asynchronous Operations in iOS. Many times your apps need to run lengthy operations in the background, like downloading data, but you don't want these operations to interfere with your UI. Apple's GCD (long form: Grand Central Dispatch) framework allows you to create asynchronous apps for iOS, ensuring smooth a smooth user experience in situations like the one mentioned above.

Self Paced
Self-Paced