Introduction to Xamarin.iOS (IOS101)

The first step in becoming a Xamarin.iOS developer is getting an app up and running. This course takes you through the entire development process. You will create a new project in Visual Studio, code the user interface and behavior, build the project, and test it on an iPhone simulator. As you build your app, you will learn several iOS design patterns such as Model-View-Controller, protocols, and delegates.

Upon completion you will be able to:

Course exercise download

Exercise materials are available from GitHub. The code can be cloned through a desktop Git client or downloaded directly as a ZIP file.

If you are using Windows, try to select a location with a shorter path length to make sure you don't exceed the 260 character limit.

Lecture

Here are the lecture slides.

Exercises

  1. Exercise 1: Create and run your first iOS application

    The primary goal of this lab is to walk through the creation of a brand new Xamarin.iOS application using Visual Studio on either macOS or Windows. We will then build and run it using the included iOS Simulator from Apple.

  2. Exercise 2: Add a root view controller to the Tip Calculator app

    The primary goal of this lab is to disable the default Storyboard UI from the TipCalculator project you created in the previous exercise and replace it with a code-based UIViewController which will be set as the RootViewController for the application.

  3. Exercise 3: Create the UI for a Tip Calculator

    In this exercise, we will be adding three controls to our screen: a UITextField, a UIButton and a UILabel to complete the UI for a simple Tip Calculator.

  4. Exercise 4: Add logic to your Tip Calculator

    In this exercise, we will add the business logic to our Tip Calculator app by handling the tap event on the button and calculating the tip amount. This logic is the Model for our application.

Additional resources

Additional Resources

Setting up an iOS device for development Model-View-Controller Pattern Delegation in iOS Human Interface Guidelines for iOS