Question

Does anyone know of a good tutorial on iPhone GUI design using just code and not Interface Builder?

I am new to iPhone development, and I wanted to better understand what is going on behind the scenes.

Was it helpful?

Solution

Check out the UI Catalog example in the SDK.

It showcases all of the individual controls being used in multiple ways. All of the screens, the view controllers and the navigation bars are generated from code.

OTHER TIPS

I found Erica Sadun's The iPhone Developer's Cookbook really valuable. The book assumes you're already up to speed with Objective-C and her examples are short but focused. Most of her examples build up the GUI programmatically, which I found really helpful in understanding what IB is doing for you.

Bill Dudney has a couple of blog posts on "Demystifying iPhone App Startup" and "Demystifying View Controllers and Views" that provide good walkthroughs of some of what goes on behind the scenes, UI-wise. While not about programmatic generation of your views, these posts help you understand what Interface Builder does for you.

Jonathan Zdziarski's iPhone SDK abandons the designer after the first two chapters. The rest of the book contains examples that create UI elements with code.

If you are after an understanding then have a look at Jonathan Zdziarski's Open iPhone Development book (not his newer SDK book). As he is demonstrating how to develop with the open iphone tool chain, this naturally means that IB is not involved and you get a greater understanding of how to do what you would normally do with IB programmatically.

Just a caveat: it's best to do things the "Apple way", as it will make it easier for Apple's engineers to comb through your code and approve it for the App Store.

Keep in mind that IB can speed up your development, and prevent you from hard coding dimensions and coordinates into your app. It's also a useful tool when it comes time to localize your app.

If you are a beginner, you should familiarize yourself with more interesting SDKs, rather than trying to figure out how a UIButton draws a frame and sets its font. You can always delve deeper into each IB-assisted framework, later when you've mastered OBJ-C, and developed some apps.

There is a reason why IB exists, just as there is a reason why Xcode exists, and we're not all typing "make myApp -flags x y z -opts a b c..." or even calling gcc directly. There is a lot to be learned from hand building a project from the command line, but really, it should come second to actually developing an app.

The new iPhone SDK 3 Visual Quickstart Guide book from PeachPit exclusively uses code for all it's examples - no IB.

http://mark.aufflick.com/bookshelf#0321669533

Disclaimer: The author of that book attends Sydney CocoaHeads which I organise :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top