iphone - 视网膜图像的实际像素尺寸 (iOS)

标签 iphone ios objective-c retina-display

在阅读了 Apple 自己的 HIG(特别是“为视网膜创建图像......”部分)并查看了类似的答案和建议的博客之后 - 我似乎无法很好地解决如何正确地为视网膜设计图像。

为了最好地解释,让我设置一个场景:

  • 我在 IB 中布置了一个 44 x 44 点的 UIButton。

  • 我去 photoshop,创建一个 44 x 44 像素的图像。我将其保存为 image@2x.png

  • 我保存了另一个,文件名上没有附加 @2x.png。

  • 在代码中,我做了类似... [UIImage imageNamed:@"image"]

从我读到的内容来看,DPI 似乎无关紧要。我也明白,视网膜图像当然是原始图像的两倍。那么对于上面的场景,image@2x.png 是否应该是 88 x 88 像素 而不是 44 x 44 像素?在 [UIImage imageNamed:@"image"] 中,我是否需要在图像名称中指定 @2x,还是 xcode 会处理这个?

按照我上面描述的场景,有人可以纠正我确认这是正确的像素尺寸图像吗?

最佳答案

你描述的场景是错误的。

这是正确的:

  1. 假设您要在 IB 中放置一个 44pt x 44pt 的按钮;
  2. 转到 Photoshop 创建一个 88px x 88px 的图像,并以 @2x 命名;
  3. 创建另一个 44px x 44px 的图像,不添加 @2x;
  4. 在您的 IB 或代码中,将图像设置为使用正常名称,不带 @2x 在图像名称中。系统将显示正常图像和@2x 图像正确。

关于iphone - 视网膜图像的实际像素尺寸 (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909387/

相关文章:

ios - 为什么 print() 将我的字符串打印为可选?

ios - UICollectionView InteractiveTransitionToCollectionViewLayout 崩溃并出现异常

ios - 为什么我得到 SQLITE_MISUSE : Out of Memory error?

ios - 加载一个 View Controller ,然后从内存中删除前一个

objective-c - 检测 UITableView 中的水平平移

ios - 布局管理器 boundingRectForGlyphRange :inTextContainer: does not work for all strings

c++ - C++ 类中的 Objective C 成员

iphone - iOS - 应用程序隐私问题

iphone - iOS : How to Copy One User Define Model Class to Another Object of It's type

ios - UIButton 旋转后失去目标