【问题标题】:iPhone 4.0 Screen Resolution and writing robust codeiPhone 4.0 屏幕分辨率和编写健壮的代码
【发布时间】:2023-04-01 19:46:01
【问题描述】:

有谁知道现有应用程序在 iPhone 4.0 上运行时在新的屏幕分辨率方面会发生什么?我假设,就像为 iPad 开发一样,您的代码中不应该有硬编码的屏幕分辨率。

我还想就编写健壮代码以在任何设备上正常工作的最佳方式提出建议。例如,仅检测屏幕分辨率是不够的——在 iPad 上,屏幕实际上更大,因此您可以在其上显示更多项目。在新 iPhone 上,屏幕的物理尺寸相同,但分辨率更高,因此您可能不想显示更多项目,而只想显示它们的更高分辨率版本。

任何帮助都会很有用,

问候

戴夫

编辑:我已经阅读了其他类似的帖子,我想我真正想知道的是,以稳健的方式为所有 App Store 设备编写代码的推荐方法是什么,以便它们 a) 都可以工作 b) 做到最好使用设备。

【问题讨论】:

标签: iphone objective-c xcode


【解决方案1】:

UIKit 已经过重新设计,因此旧的应用程序在 iPhone 4 中无需修改即可运行。然后您可以做几件事,一些是程序化的,一些是通过向您的应用程序包添加更高分辨率的图像。

首先,最简单的方法是,您可以在名称中包含您的应用使用的新双分辨率图像,其后缀为@2x。即 Event.png 和 Event@2x.png。 [UIImage ImageNamed:] 会自动寻找这个后缀的文件,如果它以更高的分辨率运行。

所有其他 UIKit 东西现在都使用点而不是像素。因此,对于新旧应用程序,全屏仍然是 320 x 480 点。这几乎意味着一切都可以正常工作,包括触摸等。尽管它们现在可能会返回分数的一小部分。

到目前为止,唯一真正的问题似乎是如果您使用 CGBitmapContextCreate,因为它使用像素并且需要一些 jiggery - pokery。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    相关资源
    最近更新 更多