如何添加 iPhoneX 启动图像
How to Add iPhoneX Launch Image
使用 Xcode 版本 9.0 (9A235),我正在尝试按要求的 2436px × 1125px(横向)添加 iPhoneX 的启动图像。目前我正在使用故事板,它看起来像这样:
'launchimage' 是链接到图像集的图像视图:
图片集如下:
我唯一获得 iPhoneX 尺寸图像的地方是启动图像集中:
但是当我尝试 select 在故事板上的图像视图中启动图像时,它无法 selected:
关于如何为 iPhoneX 添加正确大小的启动图像或返回到启动图像的任何帮助?我更喜欢正确尺寸的图片,而不是拉伸的图片。
更新:
我想解释一下为什么我希望图像每个像素都完全相同。按照 https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ 中的指南,我的启动图像是应用程序第一页的静态版本。如果启动图像被拉伸,则启动图像会明显切换到第一页。哪一种违背了指南的目标。 Apple 建议使用故事板启动,但如果这样做,您似乎无法遵循他们的指导方针。典型,真的。
In portrait orientation, the width of the display on iPhone X matches
the width of the 4.7" displays of iPhone 6, iPhone 7, and iPhone 8.
The display on iPhone X, however, is 145pt taller than a 4.7" display,
resulting in roughly 20% additional vertical space for content.
可能你的镜像没问题,但尝试清理 (cmd + K) 并重建项目。
如果没有帮助,请将此图片从 Xcode 中删除,然后将这些图片拖到 Xcode 中重新添加。并重新构建它。它应该可以工作。
您可以在图片集中保留更大尺寸的图片作为 3x
图片!我的意思是 1125px × 2436px
是 3x
375pt × 812pt
的分辨率。
所以,在你的图片集中,用 1125px × 2436px
的图片大小替换旧的 3x
图片,我认为你的启动屏幕(故事板或 xib)不会拉伸!
如果我没理解错的话,您是在使用故事板作为带有图像视图的启动屏幕,对吗?
如果是这样,在你的 Launch Screen 情节提要中 select 以 iPhone X:
查看
然后添加图像视图,使其像这样填充整个区域:
并用常量 0 将其固定到超级视图。使用 iPhone X selected 执行此操作很重要,否则你可能会固定到顶部布局指南,而你不会不想,因为它会让你在顶部留下空白。
您的约束应如下所示(固定到 Superview):
编辑:
我想强调的是,可以为 iPhone X 添加 Launch Image,但是@Christian Cerri 要求在 LaunchScreen.storyboard 的图像视图中添加 NORMAL 图像,专门用于 iPhone X,这是不可能。
原答案:
不可能将专门用于 iPhone X 的图像添加到资产目录(因为它使用 @3x),因此如果您想要另一张仅用于 iPhone X 的图像,您可能应该为此使用启动图像。
如果您使用 LaunchImage.launchimage
启动,解决方案是(在 Xcdoe 9.0 中):
Select Assets.xcassets
,右键单击中间窗格,select App Icons & launch Images
-> New iOS Launch Image
。然后将旧的LaunchImage.launchimage
图片移动到新的图片上,并为iPhoneX添加1125×2436 px
的图片尺寸。
此外,您可以将以下json对象添加到旧项目LaunchImage.launchimage
文件夹中的Contents.json
文件中。一旦Xcode刷新, 只需放入一张 1125×2436 像素的图像。如果你需要横向,你可以添加另一个方向。
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
使用 Xcode 版本 9.1 (9B55),感谢上面的回答(尤其是 Stoull),但我的体验略有不同。我最初的问题基本上是:"How to get launch image (in storyboard or LaunchImage) which matches the bg of the first game scene without a rescaling blip on all resolutions?"
我已经解决了这个问题,它可以使用 LaunchImage。然而,也有并发症。
在Assets文件夹中添加一个LaunchImage,然后在项目设置中指定:
那么你会期望这样做:
导致:
但是在 Build 上你会收到警告:
所以您需要这个用于 LaunchImage:
导致:
并且没有警告....并且 LaunchImage 适用于所有 iPhones/iPads。
图像尺寸为:
iPhoneX(iPhone X 横向 iOS 11+):2436 x 1125
Retina HD 5.5"(iPhone 横向 iOS 8,9):2208 x 1242
2x(iPhone 纵向 iOS 7-9):640 x 960
Retina4(iPhone 纵向 iOS 7-9):640 x 1136
1x(iPad 横向 iOS 7-9):1024 x 768
2x(iPad 横向 iOS 7-9):2048 x 1536
系统显然很乱,需要 Apple 进行适当的改造。
对于像我这样的 2018 年懒惰开发者,他们的现有项目有旧版本的 launchimage(没有 iPhoneX 变体),这是我的解决方案支持 iPhone X - 这是给你的捷径。
- 在您的 Xcode.
中打开 Assets.xcassets
- 右键单击您的 LanchImage,然后 select 在 Finder 中显示。
- 打开Contents.json
- 将以下代码粘贴到您的 "images" 数组中。
{
"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"
},
当然要用适当的图片替换文件名。瞧!
我从 xib 中删除了图像视图并清理了派生数据和构建。
在将约束(前导、尾随、顶部、底部)设置到超级视图后,再次添加普通图像视图和设置图像。效果不错。
使用 Xcode 版本 9.0 (9A235),我正在尝试按要求的 2436px × 1125px(横向)添加 iPhoneX 的启动图像。目前我正在使用故事板,它看起来像这样:
'launchimage' 是链接到图像集的图像视图:
图片集如下:
我唯一获得 iPhoneX 尺寸图像的地方是启动图像集中:
但是当我尝试 select 在故事板上的图像视图中启动图像时,它无法 selected:
关于如何为 iPhoneX 添加正确大小的启动图像或返回到启动图像的任何帮助?我更喜欢正确尺寸的图片,而不是拉伸的图片。
更新:
我想解释一下为什么我希望图像每个像素都完全相同。按照 https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ 中的指南,我的启动图像是应用程序第一页的静态版本。如果启动图像被拉伸,则启动图像会明显切换到第一页。哪一种违背了指南的目标。 Apple 建议使用故事板启动,但如果这样做,您似乎无法遵循他们的指导方针。典型,真的。
In portrait orientation, the width of the display on iPhone X matches the width of the 4.7" displays of iPhone 6, iPhone 7, and iPhone 8. The display on iPhone X, however, is 145pt taller than a 4.7" display, resulting in roughly 20% additional vertical space for content.
可能你的镜像没问题,但尝试清理 (cmd + K) 并重建项目。
如果没有帮助,请将此图片从 Xcode 中删除,然后将这些图片拖到 Xcode 中重新添加。并重新构建它。它应该可以工作。
您可以在图片集中保留更大尺寸的图片作为 3x
图片!我的意思是 1125px × 2436px
是 3x
375pt × 812pt
的分辨率。
所以,在你的图片集中,用 1125px × 2436px
的图片大小替换旧的 3x
图片,我认为你的启动屏幕(故事板或 xib)不会拉伸!
如果我没理解错的话,您是在使用故事板作为带有图像视图的启动屏幕,对吗?
如果是这样,在你的 Launch Screen 情节提要中 select 以 iPhone X:
查看然后添加图像视图,使其像这样填充整个区域:
并用常量 0 将其固定到超级视图。使用 iPhone X selected 执行此操作很重要,否则你可能会固定到顶部布局指南,而你不会不想,因为它会让你在顶部留下空白。
您的约束应如下所示(固定到 Superview):
编辑:
我想强调的是,可以为 iPhone X 添加 Launch Image,但是@Christian Cerri 要求在 LaunchScreen.storyboard 的图像视图中添加 NORMAL 图像,专门用于 iPhone X,这是不可能。
原答案:
不可能将专门用于 iPhone X 的图像添加到资产目录(因为它使用 @3x),因此如果您想要另一张仅用于 iPhone X 的图像,您可能应该为此使用启动图像。
如果您使用 LaunchImage.launchimage
启动,解决方案是(在 Xcdoe 9.0 中):
Select
Assets.xcassets
,右键单击中间窗格,selectApp Icons & launch Images
->New iOS Launch Image
。然后将旧的LaunchImage.launchimage
图片移动到新的图片上,并为iPhoneX添加1125×2436 px
的图片尺寸。此外,您可以将以下json对象添加到旧项目
LaunchImage.launchimage
文件夹中的Contents.json
文件中。一旦Xcode刷新, 只需放入一张 1125×2436 像素的图像。如果你需要横向,你可以添加另一个方向。
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
使用 Xcode 版本 9.1 (9B55),感谢上面的回答(尤其是 Stoull),但我的体验略有不同。我最初的问题基本上是:"How to get launch image (in storyboard or LaunchImage) which matches the bg of the first game scene without a rescaling blip on all resolutions?"
我已经解决了这个问题,它可以使用 LaunchImage。然而,也有并发症。
在Assets文件夹中添加一个LaunchImage,然后在项目设置中指定:
那么你会期望这样做:
导致:
但是在 Build 上你会收到警告:
所以您需要这个用于 LaunchImage:
导致:
并且没有警告....并且 LaunchImage 适用于所有 iPhones/iPads。
图像尺寸为:
iPhoneX(iPhone X 横向 iOS 11+):2436 x 1125
Retina HD 5.5"(iPhone 横向 iOS 8,9):2208 x 1242
2x(iPhone 纵向 iOS 7-9):640 x 960
Retina4(iPhone 纵向 iOS 7-9):640 x 1136
1x(iPad 横向 iOS 7-9):1024 x 768
2x(iPad 横向 iOS 7-9):2048 x 1536
系统显然很乱,需要 Apple 进行适当的改造。
对于像我这样的 2018 年懒惰开发者,他们的现有项目有旧版本的 launchimage(没有 iPhoneX 变体),这是我的解决方案支持 iPhone X - 这是给你的捷径。
- 在您的 Xcode. 中打开 Assets.xcassets
- 右键单击您的 LanchImage,然后 select 在 Finder 中显示。
- 打开Contents.json
- 将以下代码粘贴到您的 "images" 数组中。
{ "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" },
当然要用适当的图片替换文件名。瞧!
我从 xib 中删除了图像视图并清理了派生数据和构建。 在将约束(前导、尾随、顶部、底部)设置到超级视图后,再次添加普通图像视图和设置图像。效果不错。