Drawing with Quartz on iOS

by Bob McCune on February 27, 2012

A couple of weeks ago I gave a presentation entitled “Drawing with Quartz on iOS” to the Minnesota CocoaHeads group. We had a big crowd that night and I hope you all enjoyed it. The slide deck is available on SlideShare and the QuartzDemos project is available on Github.

Quartz is an essential API for Mac and iOS developers to know, but I don’t believe it is widely understood. There are many useful resources on the Internets, Ray Wenderlich’s and Andy Finnell’s sites immediately come to mind, but the information on the topic is largely scattered. I’m hoping this presentation and sample project help to consolidate some of this information and make it easier for developers to learn the framework.

Feel free to reach out if you have any questions or comments.

[ 5 comments ]

Sue Metoxen February 27, 2012 at 3:02 am

Beautiful presentation! It is very comprehensive and easy to follow. And particularly beautiful.

Bob McCune February 27, 2012 at 6:15 am

Thanks for the kind words. I hope you find it useful!

Josh February 27, 2012 at 5:10 pm

Well done. I’ll be passing this on to my CocoaHeads group in Raleigh.

Jour Hadique October 24, 2012 at 5:17 pm

In your slides you say to “always use images until you can’t.” There are situations other than “can’t” when procedural drawing might be preferred. For instance, if you’re trying to pare down your app to get under the OTA delivery bar, and you’ve got 20MB of images that are simple to draw procedurally, you’d be foolish not to. Also, there are plenty of times when the burden of maintaining two sets of assets (for retina and non-retina displays) will be greater than the burden of drawing procedurally, with equivalent results.

In short, “always use images until you can’t” is perhaps too strong a recommendation here.

Bob McCune October 25, 2012 at 12:12 pm

I don’t disagree but I think you’ve just listed two more reasons why you “can’t”. My point was simply that, all things being equal, its easier to create and manage assets in [insert your favorite graphics tool] than in code. There are any number of valid concerns that tip the scales in the manual drawing direction. I’m so happy for the development of PaintCode as it can drastically pare back the costs of Quartz drawing.