2

我想做一个使用 iAd AdBannerView 的仅限 iPhone 4 的应用程序。当我添加它时,它的固定大小为 320x50。这如何在更高分辨率下工作?

有人可以解释一下 iPhone4 的高分辨率与以前的设备相比如何与 xib 文件中的 UIView 相关。我是否创建了比标准 320x480 分辨率更高的 UIView?推荐的做法是什么?

4

1 回答 1

2

对于 iphone 开发者来说,iphone 4 显示器的分辨率实际上仍然是 320x480 点。底层可可触摸实现为您呈现所有 640x960 的控件。iAds 横幅将在您不注意的情况下处理额外的分辨率。

您真正需要考虑额外像素的唯一时间是当您有位图时,或者您正在处理 OpenGL 的东西。

当您使用 UIImage(或其他)位图时,在理想情况下,底层图像应该与设备的原始分辨率相匹配。因此,在 3G 上显示的 150x150 图像在 150ptx150pt 的 UIImage 中将显示为 150 像素 x 150 像素,但在视网膜显示器上,它实际上会被渲染为 300 x 300 像素,并且可能看起来像 UIImage 一样有点模糊在将图片渲染到显示器之前放大图片。

有两个选项可以显示最佳图像:

  1. 始终使用双倍大小的图像 - 在旧设备上 UIImage 会按比例缩小图像以便显示,代价是 CPU/GPU 时间。不建议这样做,因为这会降低最慢设备的性能。
  2. 有两个图像副本,其中一个是两倍大小,并在显示视图之前切换图像参考。请注意,[UIImage imageNamed:]如果存在,将自动加载 @2x 图像文件,使此选项非常容易实现。
于 2010-09-02T10:37:16.860 回答