【问题标题】:App is not running retina in Xcode simulator应用程序未在 Xcode 模拟器中运行视网膜
【发布时间】:2015-09-18 06:20:27
【问题描述】:

我从我的同事那里得到了一个项目,我们将其命名为ProjectB,这个项目最奇怪的部分是当我在 iPhone 6 上运行这个项目时,我可以看到它不是视网膜。 我试图弄清楚如何让这个项目像视网膜一样运行。为了测试,我创建了另一个空项目Demo。然后我从ProjectB 复制了一个 UITableViewController 并将其粘贴到Demo 项目中。当我运行Demo 时,显然是视网膜。我从ProjectB 和Demo 制作了两张快照来比较它们:

Demo 在模拟器中运行看起来像这样 ProjectB 在模拟器中运行看起来像这样

如您所见,Demo 中的单元格看起来不错,但 ProjectB 中的单元格看起来不太好。我已经为他们常见的 UITableViewController 设置了布局约束。两个项目都在故事板中使用相同的 UITableViewController。

所以,ProjectB 绝对不是作为视网膜运行的。我查看了项目设置,部署目标是 iOS 7.0,在 iPhone 6 模拟器中运行。我还应该看什么?

【问题讨论】:

  • 这里,你说的视网膜是什么意思?你是如何将它与屏幕截图联系起来的?
  • 两张截图在我看来都一样
  • 看起来好像 Demo 项目正在运行 iPhone 6 plus 模拟器,而 ProjectB 正在运行iPhone 6 模拟器。确保您在 Xcode 中为模拟器选择了完全相同的设备。
  • @Codo Gosh。我只是说我正在运行相同的 iPhone 6 模拟器。我很确定,因为如果我运行不同的模拟器,我实际上必须选择 iPhone 6 plus。我会吗?
  • @MithunR。估计是视网膜您是否尝试过下载一个应用程序并在您的 iPhone 设备上运行它。它看起来更小,不像其他任何应用程序那样视网膜?那这就是我要说的。

标签: ios objective-c iphone xcode retina-display


【解决方案1】:

iPhone 6+ 使用 @3x 资源以 2208×1242 的虚拟分辨率(736x414 点)在内部进行渲染,然后对其进行采样以显示

为了在xcode中判断iphone 6+的屏幕,需要有一张图片Default-736h@3x.png

并删除启动屏幕文件

以下是启动图像大小及其对应文件名的列表,再次以粗体显示 iPhone 6/6 Plus 以供参考:

默认.png:320 x 480

默认@2x.png:640 x 960

默认 568h@2x.png:640 x 1136

默认 667h@2x.png:750 x 1334(iPhone 6,纵向)

默认 736h@3x.png:1242 x 2208(iPhone 6 Plus,纵向)

默认横向 568h@2x.png:1136 x 640

Default-Landscape-667h@2x.png:1334 x 750(iPhone 6,横向)

Default-Landscape-736h@3x.png:2208 x 1242(iPhone 6 Plus,横向)

默认人像.png:768 x 1024

默认人像@2x.png:1536 x 2048

默认风景.png:1024 x 768

默认横向@2x.png:2048 x 1536

或者为 6 Plus/Phone 6 使用 Launch Screen 文件 @3x / @2x 屏幕

【讨论】:

    【解决方案2】:

    我刚刚发现启动屏幕没有设置。我想不试一试。然后我设置选择启动屏幕。有效。它正在运行视网膜。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 2014-10-25
      • 2012-06-26
      • 2019-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多