如何添加iPhoneX启动映像

时间:2017-09-13 07:33:54

标签: ios xcode iphone-x

使用Xcode版本9.0(9A235),我试图在请求的2436px×1125px(横向)上添加iPhoneX的启动图像。目前我正在使用故事板,它看起来像这样:

enter image description here

'launchimage'是链接到图像集的图像视图:

enter image description here

图像集如下:

enter image description here

我获得iPhoneX大小图像的唯一地方是启动图像集:

enter image description here

但是当我尝试在故事板上的图像视图中选择启动图像时,无法选择它:

enter image description here

有关如何为iPhoneX添加正确尺寸的启动图像的任何帮助,还是回到启动图像?我更喜欢正确尺寸的图像,而不是拉伸图像。

更新:

我想解释为什么我希望图像与每个像素完全相同的像素。遵循https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/中的指南,我的启动映像是应用程序第一页的静态版本。如果拉伸启动图像,则从启动图像到第一页有明显的切换。哪种方式违背了准则的目标。 Apple推荐使用故事板发布,但如果你这样做,似乎你不能遵循他们的指导方针。典型的,真的。

8 个答案:

答案 0 :(得分:39)

如果您使用LaunchImage.launchimage进行启动,解决方案是(在Xcdoe 9.0中):

  1. 选择Assets.xcassets,右键单击中间窗格,选择App Icons & launch Images - > New iOS Launch Image。然后将旧的LaunchImage.launchimage图像移动到新图像,并为iPhoneX添加1125×2436 px的图像大小。 enter image description here enter image description here

  2. 此外,您可以将以下json对象添加到旧项目Contents.json文件夹中的LaunchImage.launchimage文件中。一旦Xcode刷新,只需放入1125×2436像素图像即可。如果您需要横向,可以添加另一个方向。

  3. 	{
          "extent" : "full-screen",
          "idiom" : "iphone",
          "subtype" : "2436h",
          "minimum-system-version" : "11.0",
          "orientation" : "portrait",
          "scale" : "3x"
        }

答案 1 :(得分:18)

对于像我这样拥有旧版 launchimage (没有iPhoneX版本)的现有项目的2018个懒惰开发者,这是我的支持iPhone X的解决方案 - 这是一个适合你的捷径。

  1. 在Xcode中打开 Assets.xcassets
  2. 右键单击LanchImage,然后选择在Finder中显示
  3. 打开 Contents.json
  4. 将以下代码粘贴到" images" 数组中。
  5.  {
      "extent" : "full-screen",
      "idiom" : "iphone",
      "subtype" : "2436h",
      "filename" : "ipxportrait.png",
      "minimum-system-version" : "11.0",
      "orientation" : "portrait",
      "scale" : "3x"
    },
    {
      "extent" : "full-screen",
      "idiom" : "iphone",
      "subtype" : "2436h",
      "filename" : "ipxlandscape.png",
      "minimum-system-version" : "11.0",
      "orientation" : "landscape",
      "scale" : "3x"
    },
    

    用适当的图像替换文件名。瞧!

答案 2 :(得分:15)

如果我理解正确,您使用故事板作为带有图像视图的启动屏幕,对吧?

如果是这样,在Launch Screen storyboard中选择以iPhone X查看:

enter image description here

然后添加您的图片视图,使其填充整个区域,如下所示:

enter image description here

并将其固定到超级视图,常量为0.选择iPhone X时执行此操作非常重要,因为否则您可能会选择顶级布局指南,这是您不想要的,因为它会留给您一个在顶部的差距。

你的圣徒应该是这样的(固定在Superview上):

enter image description here

答案 3 :(得分:2)

  

在纵向方向上,iPhone X上的显示宽度匹配   iPhone 6,iPhone 7和iPhone 8的4.7英寸显示屏的宽度。   然而,iPhone X上的显示器比4.7“显示器高出145pt,   导致大约20%的额外垂直空间用于内容。

enter image description here

可能您的图片还可以,但请尝试清理(cmd + K)并重建项目。

如果没有帮助,则从Xcode中删除此图像,然后将这些图像拖动到Xcode中再次重新添加。并重新构建它。它应该工作。

答案 4 :(得分:2)

使用Xcode版本9.1(9B55),感谢上面的答案(特别是Stoull),但是我的经验略有不同。我原来的问题基本上是:"如何获得与第一个游戏场景的bg匹配的启动图像(在storyboard或LaunchImage中),而不对所有分辨率进行重新缩放?"

我已经解决了这个问题,它使用LaunchImage。然而,有并发症。

将LaunchImage添加到Assets文件夹,然后在项目设置中指定它:

enter image description here

然后你会期望这样做:

enter image description here

导致:

enter image description here

但是在构建时,您会收到警告:

enter image description here

所以你需要这个用于LaunchImage:

enter image description here

导致:

enter image description here

并且没有警告....并且LaunchImage适用于所有iPhone / iPad。

图像尺寸为:

iPhoneX(iPhone X Landscape iOS 11+):2436 x 1125

Retina HD 5.5" (iPhone版iOS 8,9):2208 x 1242

2x(iPhone Portrait iOS 7-9):640 x 960

Retina4(iPhone Portrait iOS 7-9):640 x 1136

1x(iPad版iOS 7-9):1024 x 768

2x(iPad版iOS 7-9):2048 x 1536

系统明显凌乱,需要Apple进行适当的改造。

答案 5 :(得分:1)

您可以将较大尺寸的图像保留为图像集中的3x图像!我的意思是1125px × 2436px 3x解析375pt × 812pt

所以,在你的图片集中,用3x的图片大小替换旧的1125px × 2436px图片,我认为你的启动画面(故事板或xib)不会延伸!

答案 6 :(得分:0)

修改
我想强调,可以为iPhone X添加Launch Image,但@Christian Cerri要求在LaunchScreen.storyboard中专门为iPhone X添加NORMAL图像到Image View,这是不可能的。

原文答案:
没有可能将专门用于iPhone X的图像添加到资产目录中(因为它使用的是@ 3x),所以如果你想要另一张适用于iPhone X的图像,你应该使用启动图像。

答案 7 :(得分:0)

我从xib中移除了图像视图,并清理了衍生数据并构建。 再次添加了普通图像视图,然后在将约束(前导,尾随,顶部,底部)设置为超级视图之后设置图像。效果很好。