V2EX
   Tag:
 UIViewController
Posted in iPhone on September 19th, 2008 by Xin

There are two ways to construct UI for iPhone apps, Interface Builder or programmatically. As of writing, both ways are still lacking features from each other.

One example is UIActionSheet, currently you can only add it to a view programmatically.

Another example is UIImageView, Interface Builder provides you various options to set the fill mode of image in UIImageView (e.g. Aspect Fill), while you can only have stretch mode in public API. Please correct me if you think this is not true, I’ll be grateful to know I’m wrong.

So, whether to use Interface Builder is up to your app. If your app is a simple data client has only several UITableView, and you’re comfortable with Interface Builder, then it may be your best choice.

But, sometimes to get all work done exclusively in Xcode IDE means productivity, since you can create a complete app without touching Interface Builder, and organize its hierarchy with your experience. It’s like writing web apps without visual tools like Expression Web. This may be a more productive way for complicated apps like games or SNS client, these apps are usually constructed by many layers of UIViewController and UIView.