对于我的应用程序的载入画面和启动画面,我用了两种不同的方法来适当地显示我的iPhone 3,iPhone 4和iPhone 5的图片。
对于加载屏幕,简单地增加-568h @ 2倍于你的形象,就足以支持iPhone5的。
对于闪屏,我用了一系列的(如果高度==)案件检查UIScreen边界的高度和采购适当的图像的图像视图。 很明显我这里说的-568h没有被普遍认可为iPhone 5的图像。 它仅适用于载入画面。
现在,在我的AppDelegate,我设置一个背景图像。 我所有的子视图有一个透明的背景,所以他们应该通过显示背景图像。 但是,我有最麻烦的在这里设立的背景图像。
只需在“Background.png”通过添加-568h @ 2X的文件名不工作的结束。 它会做非视网膜和3.5寸Retina显示屏,但不会拿起4“”显示。
即:
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
如果我用上面的代码片段中,iPhone4的图片是用来代替iPhone5的图片,这不是我想要的。
我移动到试图做同样的事情,因为我与溅射屏幕一样。 我有一堆的,如果情况:
CGFloat height = [UIScreen mainScreen].currentMode.size.height;
if ( height == 1136 )
{
//Choose image here
}
else if (height == 960)
{
//Choose image here
}
else if (height == 480)
{
//Choose image here
}
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:chosenImage]];
但colorWithPatternImage函数认为,chosenImage推移1点= 1个像素。 所以,我结束了一个非视网膜图像试图以适合iPhone 5的屏幕。 它看起来什么样exaclty? 貌似只有我想显示整个iPhone 5的屏幕上的图像的左上方象限。 它看起来像没有应用视网膜缩放。
我需要在iPhone上承认,我有一个视网膜友好的iPhone 5的图片作为背景。 我该怎么做呢?