4

我知道为 iPhone5 之前的 iPhone 开发的应用程序正在信箱中运行。但是反过来呢。更新至 iPhone5 标准的应用程序。它如何在 iPhone4 上运行?

如果没有,当所有开发人员都更新了他们的应用程序时,旧 iPhone 将没有应用程序或更新?

4

4 回答 4

5

这更适合 MonoTouch,但同样的技术也适用于 Obj-C:

http://redth.info/get-your-monotouch-apps-ready-for-iphone-5-ios-6-today/

基本上 Default-568h@2x.png 文件会告诉 iOS 它是一个“高大”的应用程序。对于其他图像资产,您需要通过检查 UIScreen 的 MainScreen 的 Bounds 以及它是否是 iPhone 惯用语然后查看高度是否为 1136(检查比例值)来检测它是否是高设备,然后选择一个在这种情况下,不同大小的图像。

这是 C# 代码,但它再次非常接近 Obj-C:

public static bool IsTall
{
  get 
  { 
    return UIDevice.CurrentDevice.UserInterfaceIdiom 
             == UIUserInterfaceIdiom.Phone 
           && UIScreen.MainScreen.Bounds.Height 
             * UIScreen.MainScreen.Scale >= 1136;
  }     
}
于 2012-09-13T23:56:09.337 回答
3

只需将名为 Default-568h@2x.png (640x1136) 的图像添加到您的项目中,它就会像魔术一样工作!难以置信它是多么容易。

于 2012-09-13T17:27:25.930 回答
1

他们将需要使用 AutoLayout 或类似的东西相应地调整他们的布局。

于 2012-09-13T08:50:27.453 回答
-2

他们当然会工作。如果您不将它们编码为自动缩小或使用较小的图像,那么它只会在顶部或底部被切断。

于 2012-09-13T08:50:23.490 回答