The iOS SDK ships with a rich and flexible set of UI components, and these built in views and controls cover about 90% of potential iOS interfaces. They should make up most (if not all) of your app's UI, but sometimes, standard UIKit just isn't enough. Whether you want to add a little touch of flair to your UI, or your app design calls for components that simply are not available, your app's success could hinge on the quality of your custom views. In this hands-on, code heavy session we will craft a strategy for designing and building stable and reusable custom views, and we will actually build some of our own. You will learn how to combine UIKit components, Core Animation and Quartz 2D in your custom views. You will also learn the performance and complexity trade-offs between these different technologies and when you should avoid them. There is a lot more to building custom views than subclassing UIView and overriding drawRect. In fact, you should avoid drawRect if at all possible. Know what the means? Want to learn why and how? This session is for you.