Ios 如何添加iPhoneX发布图像

Ios 如何添加iPhoneX发布图像,ios,xcode,iphone-x,Ios,Xcode,Iphone X,使用Xcode 9.0版(9A235),我试图在请求的2436px×1125px(横向)位置添加iPhoneX的发布映像。目前我正在使用一个故事板,它看起来像这样: “launchimage”是链接到图像集的图像视图: 图像集如下所示: 我唯一能得到iPhoneX大小的图像的地方是在发布图像集中: 但当我尝试在情节提要的图像视图中选择启动图像时,无法选择: 有关于如何为iPhoneX添加正确大小的发布图像的帮助吗?或者它是否返回到发布图像?我更喜欢正确大小的图像,而不是拉伸的图像 更新

使用Xcode 9.0版(9A235),我试图在请求的2436px×1125px(横向)位置添加iPhoneX的发布映像。目前我正在使用一个故事板,它看起来像这样:

“launchimage”是链接到图像集的图像视图:

图像集如下所示:

我唯一能得到iPhoneX大小的图像的地方是在发布图像集中:

但当我尝试在情节提要的图像视图中选择启动图像时,无法选择:

有关于如何为iPhoneX添加正确大小的发布图像的帮助吗?或者它是否返回到发布图像?我更喜欢正确大小的图像,而不是拉伸的图像

更新:

我想解释一下为什么我希望图像是完全相同的像素每像素。遵循我的发布映像中的指导原则,是应用程序第一页的静态版本。如果启动映像被拉伸,则会出现一个明显的从启动映像到第一页的切换。这与指导方针的目标背道而驰。苹果公司建议使用故事板发布,但如果你这样做,你似乎无法遵循他们的指导方针。很典型,真的

在纵向方向上,iPhone X上的显示器宽度匹配 iPhone6、iPhone7和iPhone8的4.7英寸显示屏的宽度。 然而,iPhone X上的显示屏比4.7英寸的显示屏高145磅, 从而为内容增加了大约20%的垂直空间

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


如果没有帮助,则从Xcode中删除此图像,并通过将这些图像拖动到Xcode中重新添加。并重建它。它应该可以工作。

您可以将较大尺寸的图像作为
3x
图像保存在图像集中!我的意思是
1125px×2436px
3x
的分辨率
375pt×812pt


因此,在您的图像集中,将旧的
3x
图像替换为图像大小为
1125px×2436px
的图像,我认为您的启动屏幕(故事板或xib)不会拉伸

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

如果是这样,请在启动屏幕故事板时选择作为iPhone X查看:

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

并将其固定到常数为0的superview。在选中iPhoneX的情况下这样做很重要,因为否则您可能会锁定到顶部布局指南,而您不想这样做,因为这样会在顶部留下一个间隙

您的Constaint应该如下所示(固定在Superview上):

编辑:
我想强调的是,可以为iPhone X添加发布图像,但@Christian Cerri要求在LaunchScreen.storyboard中为iPhone X添加普通图像到图像视图,这是不可能的

原始答案:

没有可能将专门针对iPhone X的图像添加到资产目录中(因为它使用@3x),因此如果您只想为iPhone X添加另一个图像,您可能应该使用启动图像。如果您使用
LaunchImage.LaunchImage
进行启动,解决方案是(在Xcdoe 9.0中):

  • 选择
    Assets.xcsets
    ,右键单击中间窗格,选择
    应用程序图标和启动图像
    ->
    新iOS启动图像
    。然后将旧的
    LaunchImage.LaunchImage
    图像移动到新图像,并为iPhoneX添加图像大小
    1125×2436 px

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

  • {
    “范围”:“全屏”,
    “成语”:“iphone”,
    “子类型”:“2436h”,
    “最低系统版本”:“11.0”,
    “方向”:“肖像”,
    “比例”:“3x”
    }
    使用Xcode 9.1版(9B55),多亏了上面的答案(尤其是Stoull),不过我的经验略有不同。我最初的问题基本上是:“如何获得与第一个游戏场景的背景相匹配的启动图像(在故事板或启动图像中),而不需要在所有分辨率上进行重新缩放?”

    我已经解决了这个问题,它使用LaunchImage工作。然而,也有一些复杂情况

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

    然后,您会希望这样做:

    导致:

    但在构建过程中,您会得到警告:

    因此,在LaunchImage中需要以下内容:

    导致:

    没有任何警告。。。。LaunchImage适用于所有iPhone/iPad

    图像大小为:

    iPhoneX(iPhone X 11+):2436 X 1125

    视网膜高清5.5英寸(iPhone横向iOS 8,9):2208 x 1242

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

    Retina4(iPhone 7-9):640 x 1136

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

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


    该系统显然很混乱,需要苹果公司进行适当的改造。

    对于像我这样的2018懒惰开发人员来说,他们现有的项目有一个旧版本的launchimage(没有iPhoneX变体),这里是我支持iPhoneX的解决方案-这是一个为您提供的捷径

  • 在Xcode中打开Assets.xcsets
  • 在LanchImage中单击鼠标右键,然后选择“在Finder中显示”
  • 打开Contents.json
  • 将以下代码粘贴到您的“图像”数组中

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

    我从xib中删除了图像视图,并清理了派生数据和构建。 再次添加普通图像视图,然后在设置co后设置图像
     {
      "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"
    },