如何适应iPhone 4的屏幕分辨率?

时间:2010-06-07 19:10:29

标签: iphone screen-resolution

根据Apple,iPhone 4有一个新的更好的屏幕分辨率:

  

3.5英寸(对角线)宽屏多点触控显示器
  分辨率为960×640像素,分辨率为326 ppi

这个小细节会严重影响我们的应用程序。网上的大多数演示应用程序都有一个共同点:他们认为屏幕的固定大小为320 x 480像素。因此,大多数(如果不是全部)开发人员所做的是:他们以这样的方式设计所有东西,可触摸区域(例如)50 x 50像素大。足以点击它。事情已经相对于左上角定位,以达到屏幕上的特定位置 - 让我们说中心,或者在底部的某个位置。

当我们开发高分辨率应用时,它们可能无法在旧设备上运行。如果他们这样做,他们将遭受4倍于任何图像大小的痛苦,不得不在内存中缩小它们。

8 个答案:

答案 0 :(得分:15)

根据Supporting High-Resolution Screens In Views,来自Apple文档:

  

在具有高分辨率屏幕的设备上,imageNamed:,   imageWithContentsOfFile:,和   initWithContentsOfFile:方法   自动寻找一个版本   使用@2x请求的图片   名字中的修饰语。如果找到一个,   它会加载该图像。如果你这样做   不提供高分辨率版本   给定图像的图像对象   仍然加载标准分辨率   图像(如果存在)并对其进行缩放   在绘画期间。

     

当它加载图像时,UIImage对象会自动设置大小和   将属性缩放为适当的值   基于图像文件的后缀。   对于标准分辨率图像,它   将scale属性设置为1.0和   将图像的大小设置为   图像的像素尺寸。对于图像   文件名中带有@ 2x后缀,   它将scale属性设置为2.0和   将宽度和高度值减半   补偿比例因子。这些   减半的值与...正确相关   您需要的基于点的维度   在逻辑坐标空间中使用   渲染图像。

答案 1 :(得分:6)

这纯粹是猜测,但如果分辨率真的是960 x 640 - 那么它的分辨率恰好是当前版本的两倍。对于iPhone来说,检查应用程序构建目标并检测应用程序的旧版本并简单地将其缩放为2将是非常简单的。您永远不会注意到差异。

答案 2 :(得分:5)

Engadget's reporting of the keynote包括史蒂夫·乔布斯的以下成绩单

  

...它使您的应用程序运行   自动对此,但它呈现   你的文字和控件在更高的位置   解析度。您的应用看起来均匀   更好,但如果你做一点点   工作,然后他们会看起来很棒。所以   我们建议您这样做

因此我推断,如果您使用现有的API,您的应用将会扩大规模。如果您利用新的iOS4 API,您可以使用新像素获得所有groovy。

答案 3 :(得分:4)

听起来好像显示器还可以,但我很担心游戏中的逻辑。将触及新决议中的开始位置返回点吗?屏幕界限会有所不同,这些类型的事情对我来说可能是个问题。

答案 4 :(得分:3)

为了显示目的而缩放到双倍分辨率是直截了当的,但这个scalling是否适用于所有输入/输出屏幕坐标的api?如果不是事情会破裂不是吗?

如果在整个框架中对其进行了广泛处理,那就足够了。我想可能会有很多潜在的api这种效果。

答案 5 :(得分:3)

对于想要寻找移动网络界面解决方案的人来说,请查看Webkit博客上的这篇文章:http://webkit.org/blog/55/high-dpi-web-sites/

Webkit似乎在四年前解决了这个问题。

答案 6 :(得分:2)

是的,这是真的。

根据WWDC的说法,似乎苹果已经建立了某种形式的自动转换,因此应用程序的分辨率不会完全关闭。想想DVD转换为高清电视。

我的猜测是苹果知道大多数开发人员一直在使用的标准,并且已经将这些标准用于立即转换。当然,如果你正在编写一个应用程序来利用新的分辨率,它看起来会比苹果自动转换的结果好得多。

答案 7 :(得分:2)

您的所有标签和系统按钮都将处于326dpi,但在添加高分辨率资源之前,您的图像仍然会像素加倍。我目前正在更新我的应用。如果您在iPhone 4 sim上构建并运行,那么它将以50%显示,转到Window>比例> 100%看到真正的差异!标签很流畅,我的图像看起来很震撼!