我的视图只有 320 像素,我在 iPhone 5 上得到的图像分辨率很差?

Posted

技术标签:

【中文标题】我的视图只有 320 像素,我在 iPhone 5 上得到的图像分辨率很差?【英文标题】:My Views are only 320px across and I get poor resolution images on iPhone 5? 【发布时间】:2013-06-09 04:47:53 【问题描述】:

我有一个大问题导致各种并发症。我想使用 326ppi Retina Display 质量图形为我的 iPhone 5 应用程序制作原始分辨率图形。但是,我所有的视图似乎都默认为 320px 宽度!所以我能找到的唯一选择是让我的图形更大,然后使用“重绘”图形选项使图形看起来更漂亮。

但是,我更愿意只使用逐像素的原始分辨率图像。我该怎么做才能让 xcode 以视网膜显示分辨率显示我的视图?我正在使用适用于 ios 6.1 的最新 xcode 和编程

谢谢!

【问题讨论】:

这个问题与 Xcode 本身并没有真正的关系。你只是碰巧在使用那个 IDE。 【参考方案1】:

在 UIKit 中,视图以点为单位:

(CGSize)width, height

。 .其中宽度和高度以磅为单位。在 iPhone 3GS(正常显示)上,这给出了以下宽度:

(CGSize)320, 480 //screen resolution is 320x480

在 iPhone 4 上:

(CGSize)320, 480 //screen resolution is 640x960

。 .即 - 完全相同。要在 iPhone 4 上的 1,1 位置绘制一个像素,该点将是:

(CGPoint0.5, 0.5

由于 Retina 显示器的分辨率正好是两倍,因此在设备之间进行绘图非常容易。当您提供浮点数时,UIKit 将根据硬件计算出要设置的像素。 (类似于 OpenGL 的工作方式)。 . . .当支持 3.5 和 4 英寸屏幕时,它会变得有点复杂。

对于图片资源,只需将资源命名如下:

myResource.png - 常规 myResource@2x.png - 视网膜显示 myResource-568@2x.png - 视网膜显示器,尤其适用于 4 英寸屏幕。 (例如背景等)。

【讨论】:

我明白了。那么对于用于按钮背景之类的图像,我应该怎么做呢?如果按钮是 100 像素 x 200 像素,并且我想制作原生分辨率的视网膜显示图形,我在 photoshop 中选择了 100 像素 x 200 像素,结果看起来像废话(因为它是非视网膜显示的像素数) .你是说我应该创建一个名为 myButtonImaeg@2x.png 的文件,该文件的尺寸是我现在使用的 100x200 按钮的两倍,并且 ios 会巧妙地选择正确的按钮? 哦,伙计,我刚刚尝试了您的建议,第一次我终于看到了原始分辨率、漂亮、清晰的图形...非常感谢伙计...

以上是关于我的视图只有 320 像素,我在 iPhone 5 上得到的图像分辨率很差?的主要内容,如果未能解决你的问题,请参考以下文章

iphone MFMessageComposeViewController,状态栏问题

iPad上的UITableViewCell宽度不正确

iPhone:视图和子视图的层次结构

iOS 字体规范和多屏适配

为所有设备自动布局 UIImage

如何为 iPhone 6+、6 和 5 指定不同的尺寸?