如何使用 Xcode 使 LaunchScreen.xib 中的图像填充背景
Posted
技术标签:
【中文标题】如何使用 Xcode 使 LaunchScreen.xib 中的图像填充背景【英文标题】:How to make an image in LaunchScreen.xib fill the background using Xcode 【发布时间】:2018-04-24 17:36:07 【问题描述】:所以我正在尝试设置一个全屏背景,其中间有一个徽标图像,其中包含一个现有的 LaunchScreen.xib(用于 react 本机项目),但我遇到了自动格式化问题。
我看到我可以向我的 ImageView 添加约束以保持纵横比,但我不确定如何让它填充(裁剪以适应)视图。当我在设备上进行测试时,它与界面构建器保持相同的正方形,并且不会填满屏幕。我一直在尝试为图像添加不同的约束,但似乎并没有影响它。
另外,我如何在不同的设备上预览它,如 UI 中所示。选择不同的设备似乎根本不会改变方形画布视图。
顺便说一句,我不想将它作为每个屏幕尺寸的单独资产 - 我很想知道如何使用标准 xib 界面构建器使用布局规则来构建它。
【问题讨论】:
您是否为显示 xib 文件的视图设置了约束? 我为图像添加了约束,但没有添加到根父视图。根父视图设置为内容模式 Scale to Fill 【参考方案1】:xib 文件由 UIViewController
内的视图显示。
当您在 xib 文件中为 UIImage
设置约束时(例如在 UIView
中),您应该在 UIViewController
中设置 UIView
的约束。
然后现在将根视图的约束设置为边缘,并将imageView
的Content Mode
设置为您想要的苹果文档所说的:
scaleAspectFit 和 scaleAspectFill 模式缩放图像以适应或填充空间,同时保持图像的原始纵横比。 scaleToFill 值会在不考虑原始纵横比的情况下缩放图像,这会导致图像看起来失真。其他内容模式将图像放置在图像视图边界中的适当位置,而不对其进行缩放。
【讨论】:
以上是关于如何使用 Xcode 使 LaunchScreen.xib 中的图像填充背景的主要内容,如果未能解决你的问题,请参考以下文章
Xcode12 SwiftUI 项目创建 LaunchScreen 故事板
iOS7 iPhone 5 的 Xcode 6 LaunchScreen.xib 窗口大小错误
尝试本地化 LaunchScreen.storyboard 以在 iOS 10 中使用 xcode 8.3.3 支持语言时出现问题