为iOS8创建Launch Screen.xib(... iOS11,Swift 4和LaunchScreen.storyboard)

时间:2014-11-04 12:47:59

标签: swift3 ios8 storyboard interface-builder ios11

我刚刚发现,为了能够在应用商店中对您的应用进行描述,请说“此应用针对iPhone 6和iPhone 6 Plus进行了优化。”您需要为启动图像使用启动XIB或故事板文件(根据[Apple] [1])。

所以,我已经创建了一个新的Launch Screen xib,现在我有点但是因为我通常在代码中做所有事情并且不使用界面构建器。我删除了插入的默认标签,并将UIImageView放入视图中。现在我想知道我将如何:

1)告诉UIImageView调整大小到其所在的屏幕

2)如果3.5英寸屏幕正在运行应用程序,或者如果4英寸屏幕正在运行应用程序等,请告诉UIImageView选择ImageA等。

基本上,我只是试图让启动.xib模仿启动屏幕正常工作的行为。如果有人能提供一些帮助,我将不胜感激!

5 个答案:

答案 0 :(得分:6)

您有两种选择:

  1. 您使用autolayout并为imageview提供全屏外观(距离顶部,底部,左侧和右侧等于0)。但是,这会导致某些屏幕尺寸的图像被剪裁,这可能是您不想要的。所以你可能要考虑(2)

  2. 您可以将启动屏幕图像放入资产目录中,然后将不同的图像放入不同的尺寸类别中。

答案 1 :(得分:5)

我发现答案很有用。

为iOS 8创建LaunchScreen xib 的旧步骤 新步骤。

参考 XCode 9,Swift 3或Swift 4和LaunchScreen.storyboard 以下是新步骤。

第一步是在您喜欢的图形软件中为纵向和横向模式启动(png或jpeg)创建两个图像。 (如果您的应用仅支持纵向模式,则可以跳过横向模式图像和设置。)

人像模式图片: -

创建一个'splash-portrait'图像,其背景为“width 1125 x height 2436”。请注意,背景将剪切各种尺寸的设备。

无论是哪个信息,图形,您都不希望被裁剪,应在上方图像的中心创建“宽度为1125 x高度 1471 ”的尺寸。这应始终位于完整图像的中心位置。

风景模式图片: -

使用您自己的完整背景创建“splash-landscape”图像,大小为“width 2436 x height 1125”。请注意,背景将剪切各种尺寸的设备。

无论是哪个信息,图形,您都不希望被裁剪,应在上方图像的中心创建“width 860 x height 1125”的大小。这应始终位于完整图像的中心位置。

一旦两张图像都准备就绪,您可以将其添加到xcassets或保存在资源中。

现在进行以下步骤。

1)已经使用新项目创建了“LaunchScreen storyboard”。打开它。

2)在视图上添加图像视图。

3)将上面保存的“splash-portrait”图像设置为图像视图源。

4)将图像的图像视图“内容模式”设置为“Aspect Fill”。

5)为Topview,Bottom,Trailing和Leading添加4个Image View约束。

这是针对肖像模式的应用启动。

对于横向模式支持,请执行以下额外步骤。 ( you may refer full answer by @Sakiboy at https://stackoverflow.com/a/46089856/2641380 )

6)单击您在步骤3中设置的图像视图源旁边的+按钮。

7)从现在显示的弹出窗口中选择“宽度”和“高度”选择器的“常规”。这是为横向的iPad指定一个新的自适应集。将出现一个新的图像源字段,标题为wR hR。将“splash-landscape”图像添加到wR hR图像源字段,以便故事板知道在横向时使用不同的图像。

8)现在我们需要在横向时添加对'iphone plus'设备的支持。因此,再次单击“图像源”字段旁边的+按钮。

9)这次选择紧凑的高度和常规的宽度选择器。这是为横向的“iPhone plus”设备指定一个新的自适应设置。将出现一个新的图像源字段,标题为wR hC。

10)将“splash-landscape”图像添加到wR hC Image源字段,以便故事板知道在“iPhone plus设备”中使用横向时使用不同的图像。

由于iPad设备是“常规的宽度和高度”,我们将在iPad上看到“splash-landscape”图像,用于纵向和横向模式。 “splash-landscape”图像中可显示内容的宽度860将以纵向和横向模式显示完整内容。

为iOS 8创建LaunchScreen xib的简单步骤。

1)从新文件创建一个新的“LaunchScreen xib” - >用户界面 - >启动屏幕(保持自动布局开启)。

2)在xib中添加图像视图 - >查看(主要观点)。

3)设置启动图像(图像不应该在资源文件中)。

4)将图像设置为“Aspect Fit”(如果需要)。

5)您也可以将“视图”(超级视图)背景颜色更改为接近图像的背景颜色。

6)选择图像视图,单击菜单 - 编辑器 - 图钉 - 底部空间到超级视图。

7)这将在“视图”(图像视图的超级视图)附近显示红色错误标记。

8)单击错误标记,您将看到大约两个自动布局错误。

9)点击错误,你会找到自动修复布局错误的菜单。

10)在修复错误时,你会发现总共四个“约束”,在superview和image之间有“垂直”和“水平”空间。

11)现在您可以在不同的设备或模拟器中测试它们。

问候。

答案 2 :(得分:1)

您可以通过将约束设置为超视图的顶部,底部,前端和后端来调整图像大小。只需单击imageview并选择Editor-> Pin顶部上下文菜单。您还可以通过单击并将其设置为“Aspect Fit”来设置UIImageView的各个方面。在设置约束之前,请确保ImageView覆盖整个屏幕,否则您将不得不修改约束。

要为不同的屏幕尺寸设置不同的图像,我猜你必须创建一个类并修改为viewWillAppear方法来加载适当的图像

祝你好运! 埃里克

答案 3 :(得分:0)

Launch xib无法拥有自定义类,因为您的应用在显示时未启动。 我最终做的是:

  1. 使用大小类功能
  2. 创建3个UI图像(每个大小类一个)
  3. 使用适用于每个大小调整类的约束的自动布局
  4. 因此,当您显示一种类型的设备时,另外两个UIImageView的宽度和高度约束被设置为0

答案 4 :(得分:0)

创建新文件。在用户界面下,选择查看。之后,您可以命名xib LaunchScreen,然后可以通过添加带有“ Test Launch”之类的标签进行测试并运行该应用程序。您应该会看到启动屏幕!