There is an updated version of this course available, created for Swift 3, iOS 10, Xcode 8. View Latest Version

Introducing Custom Controls

Sep 1 2015 · Video Course (1 hr, 52 mins) · Intermediate

Custom controls are an important part of developing apps for iOS, allowing you to develop engaging user experiences, while achieving great code separability and reuse. When the Apple-provided controls don’t quite give you what you want, then creating your own custom controls is a great option, and it isn’t nearly as scary as it first sounds!

Learn how to create custom controls for iOS by taking a look at three different approaches covered in this series. First you’ll discover how you can compose UIKit components to build your own control, before moving on to using Core Animation to create controls with more visual complexity. Finally you’ll see how you can use Core Graphics to “draw” the appearance of controls yourself. Along the way you’ll learn how to handle user interaction, interface builder integration and dynamic frameworks.


  • Swift 2, iOS 9, Xcode 7


7:08 Free

Find out what's covered in our Introducing Custom Controls video tutorial series!


Build your first custom control by learning how to compose UIKit components to create a powerful icon.


Learn how to properly integrate your custom controls with interface builder, massively improving the design time experience.


Learn about the different interactions available for custom controls and how to enable user interaction on the icon control making it behave like a button.


Learn how to build complex custom controls using core animation layers.


Dive deep into core animation layers to put the finishing touches on the ring layer of your custom control by adding a shadow.


Learn how to sprinkle a little bit of animation magic onto your three ring custom control.


Learn how to put a control into a dynamic framework making it a self contained component thus allowing you to reuse the control across multiple projects.


Learn how to employ core graphics to draw the interface of your new canvas custom control.


Learn how to build a custom gesture recognizer and incorporate it into the color wheel you created in your last challenge.




Review what you've learned in this custom controls video tutorial series and get some hints and tips on how to approach building your own custom controls.


Version history

iOS 10, Swift 3, Xcode 8

Feb 21 2017

iOS 9, Swift 2, Xcode 7 (Selected)

Sep 1 2015