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