Element | Size (in points) |
---|---|
Window (including status bar) | 320 x 480 pts |
Status Bar (How to hide the status bar) | 20 pts |
View inside window (visible status bar) | 320 x 460 |
Navigation Bar | 44 pts |
Nav Bar Image / Toolbar Image | up to 20 x 20 pts (transparent PNG) |
Tab Bar | 49 pts |
Tab Bar Icon | up to 30 x 30 pts (transparent PNGs) |
Text Field | 31 pts |
Height of a view inside a navigation bar | 416 pts |
Height of a view inside a tab bar | 411 pts |
Height of a view inside a navbar and a tab bar | 367 pts |
Portrait Keyboard height | 216 pts |
Landscape Keyboard height | 140 pts |
Points vs. Pixels
The iPhone 4 introduced a high resolution display with twice the pixels of previous iPhones. However you don't have to modify your code to support high-res displays; the coordinate system goes by points rather than pixels, and the dimensions in points of the screen and all UI elements remain the same.
iOS 4 supports high resolution displays (like the iPhone 4 display) via the scale property on UIScreen, UIView, UIImage, and CALayer classes. If the object is displaying high-res content, its scale property is set to 2.0. Otherwise it defaults to 1.0.
All you need to do to support high-res displays is to provide @2x versions of the images in your project. See the checklist for updating to iOS4 or Apple documentation for Supporting High Resolution Screens for more info.
Adjusting Sizes
Click here to see how to adjust View Frames and Bounds.
Additional References
- Apple Documentation: Points vs. Pixels
- Apple Documentation: UIBarButtonItem Class Reference says "Typically, the size of a toolbar and navigation bar image is 20 x 20 points."
- Apple Documentation: UITabBarItem Class Reference says "The size of an tab bar image is typically 30 x 30 points."