views:

256

answers:

3

I'm programming an iPhone app and I'm wondering how programmers properly position controls without using Interface Builder. More or less, this is because I want to position a couple of controls without using Interface Builder.

Thanks!

A: 

If you don't want use IB, there is no miracle solution. You must keep in mind the dimension of the iPod/iPhone (320px*480px).

In general you have to center your GUI component in the x axis and then adjust your component on the y axis.

Yannick L.
Is there anything I can do to assist myself with it?
Anthony Glyadchenko
You can use IB to help you to know where put your components into the view. Otherwise there isn't any solution.
Yannick L.
+1  A: 

Try using the IB to see the coordinates at which you would like to position your objects and then add them in code. You will usually need to do some trial and error to get it right.

You might also want to position items relative to the size of the screen. In this case I would suggest avoiding hardcoding the size of the screen in the app like 480/2. Instead, use the UIScreen's shared object to get the current screen's size like this:

(example to position a UIView in the center of the screen - any screen, iPhone, iPad, iPad external screen)

myView.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, [[UIScreen mainScreen] bounds].size.height/2);
Dimitris
I like this answer. Thanks!
Anthony Glyadchenko
A: 

I do all my controls and views programmatically, and its not difficult at all. I use IB to mockup my app, so I just find where I want it there and then put that into the code itself.

chpwn