在Xcode中开发全屏4英寸的应用程序
可能重复:
我如何支持更高的iPhone 5屏幕尺寸?
如何使我的应用程序4英寸准备好? 我在iOS6GM模拟器的应用程序看起来不是4英寸大小。 有没有在Xcode选项使用所有4英寸?
有些用户报告说在添加启动镜像Default-568h@2x.png
(见下文)后已经修复了。 为了更新到iPhone5我做了以下几点:
自动旋转在iOS 6中正在改变。在iOS 6中,不推荐使用UIViewController的shouldAutorotateToInterfaceOrientation:
方法。 在它的地方,你应该使用supportedInterfaceOrientationsForWindow:
和shouldAutorotate
方法。 因此,我添加了这些新的方法(并保持与iOS 5兼容的旧版本):
-(BOOL)shouldAutorotate { return YES; } - (NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskAllButUpsideDown; }
- 然后我修复了需要它的视图的自动布局。
- 将模拟器中的图像复制到iTunes Store的启动视图和视图到PhotoShop中,并将它们导出为png文件。
- 默认图像的名称是:Default-568h@2x.png尺寸为640 x 1136,屏幕尺寸为320 x 568。
- 我已经降低了iOS 4的向后兼容性。原因是这个新的Xcode不再支持armv6代码。 因此,现在我能够支持的所有设备(运行armv7)都可以升级到iOS 5。
这一切都只是记得在iOS 5和iOS 6中testing自旋,因为旋转的变化。
在iPhone 5发布之前,我只是使用
#define kViewHeight 460.f // or 480.f if you don't have a status bar #define kViewWidth 320.f
但现在,我想用
#define kViewHeight CGRectGetHeight([UIScreen mainScreen].applicationFrame) #define kViewWidth CGRectGetWidth([UIScreen mainScreen].applicationFrame)
代替。
但我不确定这是否是一个好的解决scheme。 正如你所看到的,你将在每个使用kViewHeight
地方调度CGRectGetHeight([UIScreen mainScreen].applicationFrame)
。 我试过使用
extern float kViewHeight; // in .h float kViewHeight = CGRectGetHeight([UIScreen mainScreen].applicationFrame) // in .m
但由于编译错误而失败。
虽然它运作良好,我认为必须有一个更好的解决方法。 ;)