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

iOS App Development Basics (Coursera) Coursera
University of Toronto

iOS App Development Basics (Coursera)

iOS App Development Basics, the second course in the iOS App Development with Swift specialization, expands your programming skills and applies them to authentic app development projects. The topics covered in this course include Xcode basics, Core iOS and Cocoa Touch frameworks, simple user interface creation, MVC Architecture and much more. With a focus on using Apple’s components to access sensors like camera, microphone and GPS, by the end of this course you will be able to create a basic App according to specified parameters and guidelines.

Aug 24th 2026
5-12 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
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
Introduction to Web Development with HTML, CSS, JavaScript (Coursera) Coursera
IBM

Introduction to Web Development with HTML, CSS, JavaScript (Coursera)

Want to take the first steps to become a Cloud Application Developer? This course will lead you through the languages and tools you will need to develop your own Cloud Apps. Beginning with an explanation of how internet servers and clients work together to deliver applications to users, this course then takes you through the context for application development in the Cloud, introducing front-end, back-end, and full-stack development.

Aug 24th 2026
5-12 Weeks
Passwordless Login Solutions for iOS (Udacity) Udacity
Udacity,Facebook

Passwordless Login Solutions for iOS (Udacity)

Add Account Kit and Facebook Login. For an app developer, providing a seamless user experience is critical for building engagement and growing a user base. Passwordless login solutions provide your users with a simple, secure, and positive first experience. In this course, you'll learn two frameworks for sign-up and authentication: Account Kit, which uses a phone number and code, and Facebook Login for iOS.

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.

Aug 31st 2026
4 Weeks
iOS Interview Prep (Udacity) Udacity
Udacity

iOS Interview Prep (Udacity)

Confidently take on the tech interview. This course is an excellent way to prepare for technical interviews. You’ll experience a mock interview, and review detailed analysis on how to field key industry questions. You’ll review common iOS Developer interview topics ranging from notifications and delegates to the model view controller, and learn best practices for behavioral questions and whiteboard problems.

Self Paced
Self-Paced
Desenvolvimento Ágil com Java Avançado (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Desenvolvimento Ágil com Java Avançado (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos e TDD exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em projetar programas para Web e com dados armazenados em banco de dados, bem como em aplicar conceitos mais avançados de Java. O objetivo deste curso é enriquecer sua experiência com conceitos avançados de Java, programação de aplicações Web e acesso a banco de dados no contexto de modelagem ágil.

Aug 24th 2026
4 Weeks