Lauchscreen.storyboard 风景启动画面

问题描述 投票:0回答:5

我在我的 iOS 应用程序中使用 lauchscreen.storyboard 作为闪屏。我在故事板中添加了闪屏图像。当应用程序启动时,纵向启动画面正确显示。但是,当以横向模式打开应用程序时,启动画面的右侧和左侧都会出现蓝色。

我尝试通过添加变化来设置不同的闪屏图像。但是,此故事板仅拍摄任何一张肖像或风景图像。

让我知道如何在故事板中设置两张图像,一张用于纵向,一张用于横向,或者为纵向和横向设置启动屏幕的最佳实践。我在网上找不到任何解决方案,尽管这似乎是一个简单的问题。

ios storyboard splash-screen
5个回答
1
投票

为两个方向设置相同的启动图像:

  1. 将图像添加到
    LaunchScreen.storyboard
    的主控制器视图并将所有边缘约束到超级视图(非安全区域)

注意: 要更改引用 SafeArea 的约束,您可以在检查器上双击它并更改相应的项目。以下是一些截图供参考

enter image description here

enter image description here

  1. 将图像的内容模式设置为适当缩放的模式(例如缩放到填充或纵横比填充)

设置应如下所示(您可以通过单击辅助编辑器启用右侧的预览并从

Automatic
切换到
Preview
):

enter image description here enter image description here


根据方向设置不同的启动图像:

  1. 单击图像旁边的
    +
    按钮

enter image description here

  1. 添加
    regular width
    compact height
  2. 的自定义

enter image description here

您的设置应如下所示:

enter image description here


更新: iPad 怎么样?

不幸的是,出于几个原因,似乎(至少在 Xcode10.1 之前)无法像 iPad 一样自定义启动屏幕。主要的一点是 iPad

Regular x Regular
适合纵向和横向。另一个原因是您无法在
LaunchScreen.storyboard
中使用自定义类。因为如果可以的话,您可以子类化
UIImageView
并用类似这样的东西覆盖
traitCollection
(本质上将 iPad 视为 iPhone 尺寸类别):

override public var traitCollection: UITraitCollection {
    if UIDevice.current.userInterfaceIdiom == .pad && UIDevice.current.orientation.isPortrait {
        return UITraitCollection(traitsFrom:[UITraitCollection(horizontalSizeClass: .compact), UITraitCollection(verticalSizeClass: .regular)])
    }
    return super.traitCollection
} 

顺便说一句,如果您想解决类似的问题,您仍然可以在应用程序的其余部分中为您的窗口/视图使用上述代码。

我知道这不是您在答案中寻找的内容,但恐怕(目前)您必须在

Assets
中使用静态图像来处理 iPad。


1
投票

enter image description here

默认情况下使用纵向,使用这些选择为横向版本的图像添加变化。

enter image description here enter image description here

在此处更新您的风景图片。

就我个人而言,我还建议您使用 AutoLayouts。

运行应用程序。

示例 - 结果 -

Landscape Portrait


1
投票

如何在故事板中设置两张图像?

iOS 拥有

sizeClass
,几乎可以显示任何你能看到的东西。您可以根据应用程序主窗口的大小(不仅仅是设备的方向)为您需要的任何情况选择图像、颜色等

SizeClass

更方便。因为也许设备处于横向模式,但它处于 iPad 的分屏状态🤷🏻u200d♂️。因此,让操作系统决定最适合大小情况的匹配。

- 界面生成器中的大小类

[1[2]2

- 工作示例:

working example


0
投票

使用 Vary 来获取特征,如离子屏幕截图所示。我已经尝试过并且对我有用。

enter image description here enter image description here


0
投票

创建两个图像集,一组用于纵向,一组用于横向 iPhone 和 iPad,如下所示。

enter image description here

根据@Mojtaba Hosseini 答案添加变体

图像尺寸: 景观: iPhone:2793×1290像素 iPad:2731 × 2048 像素

肖像: iPhone:1290×2793像素 iPad:2048 × 2731 像素

© www.soinside.com 2019 - 2024. All rights reserved.