iPhone design resolution in Photoshop - iphone

I am wondering about how to change the design in photoshop for the new iPhone 5.
Usually I create design/background for iPhone in Photoshop, with resolution 640x960 for retina. Since the retina resolution is propotional to the older ones I can just reduce to 320x480.
But what about the iPhone 5. The Screen is higher. I'ts a new resolution ( 1136 x 640 )
What is the best solution for photoshop design to display on iphone4s< and iPohne 5?
How can I handle that without creating a new design?
And how can I tell the app just to use it if it's the iPhone 5?
(I am using PhoneGap/Cordova)

You can create an original design using 960x640. Then you can just add a different layer positioning your elements for the 1136x640 resolution. When exporting, hide the tall layer if you want to target iPhones < 5. When targeting the iPhone 5, just have your layer as a top view, and you can change the artboard on the fly.
Also, iOS 6 won't automatically target iPhone 5 images (except Default). So if you want to use different images you would have to check yourself for the height.
Basically, if your screenSize.height == 568, you're using an iPhone 5.

Related

How to handle graphics in iPhone 4,4s and iPhone 5,5c,5s

So early when working with iPhone Retina and non-Retina, I used to handled images as "image.png" and "image#2X.png", and that used to do the trick in handling graphics.
But what I am facing now is that I am no more building for iPhone 3,3g,3gs. That means all images are for retina now, so the question is that how to handle iPhone 5,5c,5s images. As these devices vertical resolution is more than 960 pixels.
Do I need to make two separate image sets for iPhone 4,4s and iPhone 5,5c,5s?
no, you need not to make two separate image sets for iPhone 4 and iPhone 5 series, it's only issue if you want to have whole screen image for some backgrounds for example... different images only for start screens.
Edit:
icons and non-full screen graphics are probably the same on iPhone 4 & 5. For full screen wallpapers you need separate sets for different resolutions based on device here are the naming conventions you can use
image.png -> iPhone (non-retina)
image#2x.png -> iPhone 4s/4 (retina)
image-568h#2x.png -> iPhone 5
image~ipad.png -> iPad (non-retina)
image#2x~ipad.png -> iPad (retina)
refer this apple design guide and http://www.iosres.com

Why does iPhone app resize for iPad but not iPhone 5

Why do original iPhone applications (normal screen size like iPhone 4/4s) in Xcode resize perfectly for iPad automatically and not for the slightly larger iPhone 5 screen size?
To fit a iPhone 4 view into the iPad each point is scaled equally into two directions. The aspect ratio of a iPhone4-point doesn't change on the iPad screen.
To fit a iPhone 4 view onto the iPhone 5 screen, each point has to be scaled in vertical direction only. This will distort each point and the view, similar to the distortions you get when you watch a movie in the wrong aspect ratio. A circle on the iPhone 4 screen won't be a circle on the iPhone 5. So you can't physically resize the pixels like it's done on the iPad.
In iOS-Development Autoresizing Masks come to the rescue. But there is no way to figure out if your app looks good if the auto resizing scales the view to iPhone 5 size. You have to test each app on a iPhone 5 sized screen. Apple didn't want to do this, so they put an opt-in in place, which you actively had to enable. They choose to use the iPhone5 launch image for that.
If your app looks good when it's vertically scaled simply provide the appropriate launch image.
If you used best practices to develop your iPhone 4 app that's basically all that is needed.
iPhone 5 support needs to be explicitly added by supplying a "Default-568h" start image.

Xcode iPhone 4/5 Screen Size Both

I am making an application in Xcode, and I need to make it for both iPhone 4 and 5. But since the iPhone 5 has a bigger screen, it messes my application up.
Once I place the labels for the size of iPhone 4 and then test it on the iPhone 5 the labels are all misplaced. Is there a way to make them stay?
You can use iOS 6's new autolayout feature (if you want to be iOS5-compatible, you can still have autoresizing masks).
You need to position your labels based on the View Height of the device(don't have to worry about width, since iPhone 4 and 5 both have the same width. But this would apply for a universal app targeting iPad and iPhone).
For instance, if yours is a View Based Application, find the view height of the superview using self.view.frame.size.height, and determine all label/view placements based on this property.
And test for both screen sizes on the iOS Simulator.

if I changed app graphics for iphone 5 , is it going to work for iphone 4, 3GS properly

if I changed app graphics for iphone 5 , is it going to work for iphone 4, 3GS properly or the users have to resize the app like when you download iphone app in iPad ?
If you mean you are using both normal sized images and 2x images for retina display, you won't have a problem on older devices.
They'll just pickup the regular sized images while the ones with retina display will load the #2x ones.
What you do have to take into account is that if you don't include regular sized images (if you only use #2x images), older devices won't load them.
#2X will still work. However I did download xcode 4.5 with iOS 6 Gold Master seeds and played with it last night. The splash screen will include the new slightly higher resolution image 11??x640 as well as the 960x640 and 480x360.
For fullscreen images, you will have to supply at least two versions, better three.
One being 640 × 1136, one being 640 x 960 and one being 320 x 480.
For the 3.5" retina version, you may use the automatic selection (aka #2x). For the former 4" retina version it appears as if you will have to include your own code to select the right one.

Is there any difference between iPad 2x mode and iPhone4 Retina display (for developer)?

Graphics development for iPhone4 and old iPhones was changed in several ways:
The concept of point was introduced
to replace pixel.
Methods of UIImage will load high
resolution resource files with #2x
in the file name.
Scale factor was added to UIScreen,
UIView, UIImage, and CALayer
classes.
So if we handle CGImage carefully, it's not hard to support the high resolution Retina display of iPhone4.
I have several questions about non-native iPad app in iPad 2x mode:
Could all the changes from old
iPhone to iPhone4 (#2x resources
auto loading, point concept, scale
factor) be applied to iPad 2x mode.
The scale of app on iPad can be
changed. How can I handle it?
With The new iPad sporting Retina Display you will need another set of images for some items such launcher icon, launch images (splash screen).
For example:
The launcher icon for Retina Display on iPhone/iPod Touch is 114 x 114 but on The new iPad the same icon for Retina Display is 144 x 144.
Other example:
On an Universal App, for the launch images (splash screen) you'll need an image set for phones/music players:
Default.png (For old devices)
Default#2x.png (For phones/music player with retina display)
Another image set for Tablets:
Default-Portrait~ipad.png (For original iPad and iPad 2)
Default-Portrait#2x~ipad.png (For the new iPad with retina display)
Default-Landscape~ipad.png
Default-Landscape#2x~ipad.png
The "#2x~ipad" will work on the new iPad in the same way "#2x" worked for the phones and ipods, but will be relative to the old iPad image set.
Unfortunately, all of those content scale functions were added in 4.0, so I don't think there's any way to use the iOS4 stuff that you're asking for.
The iPad 2x mode is just a way to run iPhone-only apps on the iPad's larger screen. If you want to take advantage of iPad's larger screen, all you have to do is create a universal binary (i.e. one that contains views for both iPhone and iPad).
There is no way to get the iPad 2x mode to display your iPhone retina level content automatically—Apple do not support this... presumably as they want people to put effort into developing iPad-specific interfaces for their apps.