views:

2928

answers:

8

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.

+7  A: 

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.

Andrew Grant
+4  A: 

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.

Don McCaughey
+3  A: 

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.

Brad Larson
+2  A: 

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.

+1  A: 

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.

hhafez
+2  A: 

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.

Jarin Udom
Do you have a source to cite for this?I haven't signed up for the developer program yet (still testing my app), but would be interested to know what their testing/approval process is like. Do they tell you after you sign up, or is this third party commentary?
Organiccat
+1  A: 

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.

mahboudz
A: 

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 :)

Mark Aufflick