使用Xcode版本9.0(9A235),我试图在请求的2436px×1125px(横向)上添加iPhoneX的启动图像。目前我正在使用故事板,它看起来像这样:
'launchimage'是链接到图像集的图像视图:
图像集如下:
我获得iPhoneX大小图像的唯一地方是启动图像集:
但是当我尝试在故事板上的图像视图中选择启动图像时,无法选择它:
有关如何为iPhoneX添加正确尺寸的启动图像的任何帮助,还是回到启动图像?我更喜欢正确尺寸的图像,而不是拉伸图像。
更新:
我想解释为什么我希望图像与每个像素完全相同的像素。遵循https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/中的指南,我的启动映像是应用程序第一页的静态版本。如果拉伸启动图像,则从启动图像到第一页有明显的切换。哪种方式违背了准则的目标。 Apple推荐使用故事板发布,但如果你这样做,似乎你不能遵循他们的指导方针。典型的,真的。
答案 0 :(得分:39)
如果您使用LaunchImage.launchimage
进行启动,解决方案是(在Xcdoe 9.0中):
选择Assets.xcassets
,右键单击中间窗格,选择App Icons & launch Images
- > New iOS Launch Image
。然后将旧的LaunchImage.launchimage
图像移动到新图像,并为iPhoneX添加1125×2436 px
的图像大小。
此外,您可以将以下json对象添加到旧项目Contents.json
文件夹中的LaunchImage.launchimage
文件中。一旦Xcode刷新,只需放入1125×2436像素图像即可。如果您需要横向,可以添加另一个方向。
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
答案 1 :(得分:18)
对于像我这样拥有旧版 launchimage (没有iPhoneX版本)的现有项目的2018个懒惰开发者,这是我的支持iPhone X的解决方案 - 这是一个适合你的捷径。
{ "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查看:
然后添加您的图片视图,使其填充整个区域,如下所示:
并将其固定到超级视图,常量为0.选择iPhone X时执行此操作非常重要,因为否则您可能会选择顶级布局指南,这是您不想要的,因为它会留给您一个在顶部的差距。
你的圣徒应该是这样的(固定在Superview上):
答案 3 :(得分:2)
在纵向方向上,iPhone X上的显示宽度匹配 iPhone 6,iPhone 7和iPhone 8的4.7英寸显示屏的宽度。 然而,iPhone X上的显示器比4.7“显示器高出145pt, 导致大约20%的额外垂直空间用于内容。
可能您的图片还可以,但请尝试清理(cmd + K)并重建项目。
如果没有帮助,则从Xcode中删除此图像,然后将这些图像拖动到Xcode中再次重新添加。并重新构建它。它应该工作。
答案 4 :(得分:2)
使用Xcode版本9.1(9B55),感谢上面的答案(特别是Stoull),但是我的经验略有不同。我原来的问题基本上是:"如何获得与第一个游戏场景的bg匹配的启动图像(在storyboard或LaunchImage中),而不对所有分辨率进行重新缩放?"
我已经解决了这个问题,它使用LaunchImage。然而,有并发症。
将LaunchImage添加到Assets文件夹,然后在项目设置中指定它:
然后你会期望这样做:
导致:
但是在构建时,您会收到警告:
所以你需要这个用于LaunchImage:
导致:
并且没有警告....并且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中移除了图像视图,并清理了衍生数据并构建。 再次添加了普通图像视图,然后在将约束(前导,尾随,顶部,底部)设置为超级视图之后设置图像。效果很好。