Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Developing fullscreen 4inch app in xcode [duplicate]

Possible Duplicate:
How do I support the taller iPhone 5 screen size?

How to make my app 4inch-ready? My app in iOS6GM simulator looks not 4inch-sized. Is there any option in xcode to use all 4 inches?

enter image description here

like image 403
k06a Avatar asked Sep 13 '12 09:09

k06a


2 Answers

Some users have reported that it was fixed after adding the startup image [email protected] (see below). For updating to iPhone5 I did the following:

Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation: method of UIViewController is deprecated. In its place, you should use the supportedInterfaceOrientationsForWindow: and shouldAutorotate methods. Thus, I added these new methods (and kept the old for iOS 5 compatibility):

-(BOOL)shouldAutorotate {
  return YES;
}

- (NSUInteger)supportedInterfaceOrientations{
  return UIInterfaceOrientationMaskAllButUpsideDown;    
}
  • Then I fixed the autolayout for views that needed it.
  • Copied images from the simulator for startup view and views for the iTunes store into PhotoShop and exported them as png files.
  • The name of the default image is: [email protected] the size is 640 x 1136 and the screen size 320 x 568.
  • I have dropped backward compatibility for iOS 4. The reason is that this new Xcode does not support armv6 code any more. Thus, all devices that I am able to support now (running armv7) can be upgraded to iOS 5.

That was all but just remember to test the autorotation in iOS 5 and iOS 6 because of the changes in rotation.

like image 133
Sverrisson Avatar answered Nov 07 '22 08:11

Sverrisson


Before iPhone 5 release, I just use

#define kViewHeight 460.f // or 480.f if you don't have a status bar
#define kViewWidth  320.f

But now, I would like to use

#define kViewHeight CGRectGetHeight([UIScreen mainScreen].applicationFrame)
#define kViewWidth  CGRectGetWidth([UIScreen mainScreen].applicationFrame)

instead.

But I'm not sure whether it is a good solution. As you see, you would dispatch CGRectGetHeight([UIScreen mainScreen].applicationFrame) every where you use kViewHeight. I've tried to use

extern float kViewHeight; // in .h
float kViewHeight = CGRectGetHeight([UIScreen mainScreen].applicationFrame) // in .m

but failed with a compile error.

Though it works well, I think there must be a better workaround. ;)

like image 3
Kjuly Avatar answered Nov 07 '22 09:11

Kjuly