Developing fullscreen 4inch app in xcode [duplicate]
Asked Answered
B

2

9

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

Baronetage answered 13/9, 2012 at 9:0 Comment(0)
M
18

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.

Meath answered 13/9, 2012 at 9:7 Comment(1)
Removing the splash screen images, cleaning the project and readding the splash screen images solved it for me! thank you!Templas
B
3

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. ;)

Bosworth answered 13/9, 2012 at 9:15 Comment(2)
I don't think that using CGRectGetHeight([UIScreen mainScreen].applicationFrame) every time will cause any performance issuesVaishnava
@KaanDedeoglu Thanks for your reply! I've not tested the performance yet. And yes, I think it might not leads much performance problem, that's why I put it here as an answer. ;)Bosworth

© 2022 - 2024 — McMap. All rights reserved.