iOS 通用应用程序中的启动屏幕情节提要限制
Launch screen storyboard constraints in iOS Universal app
我正在为 Xcode 7.3 中的 iOS 通用应用程序编写 LaunchScreen.storyboard
文件。
我必须只使用情节提要中定义的约束,因为启动屏幕将在加载应用程序之前显示(无法在 UIViewController
子类中以编程方式配置约束)。
主UIViewController
中的背景图片有
- 宽高比 (
3456:2592
),
- 垂直居中并且
- 水平居中约束。
我正在尝试获取以下条件:
- 保持背景图片的宽高比,
- 当屏幕宽度<=屏幕高度时激活
backgroundImageView.Top = containerView.Top
- 当屏幕宽度 > 屏幕高度时激活
backgroundImageView.Leading = containerView.Leading - 20
问题是按大小 类 定义的故事板约束不够强大,无法表达 屏幕宽度 >/<= 屏幕高度 等条件(例如:iPad Air Fullscreen 始终具有规则的宽度和高度,但 屏幕宽度 < 屏幕高度纵向模式和屏幕宽度 > 屏幕高度(横向模式)。
我也尝试过定义设备设置的背景图像资源,但它只允许指定图像的 iPhone/iPad x1、x2 和 x3 版本。
您不需要自动布局。使 UIImageView 填满整个屏幕,然后 select 背景 UIImageView 的 Aspect Fill 模式。
结果:
请注意,背景图片 (1) 保持纵横比,(2) 水平和垂直居中,(3) 自动放大以适应最长轴。
我正在为 Xcode 7.3 中的 iOS 通用应用程序编写 LaunchScreen.storyboard
文件。
我必须只使用情节提要中定义的约束,因为启动屏幕将在加载应用程序之前显示(无法在 UIViewController
子类中以编程方式配置约束)。
主UIViewController
中的背景图片有
- 宽高比 (
3456:2592
), - 垂直居中并且
- 水平居中约束。
我正在尝试获取以下条件:
- 保持背景图片的宽高比,
- 当屏幕宽度<=屏幕高度时激活
backgroundImageView.Top = containerView.Top
- 当屏幕宽度 > 屏幕高度时激活
backgroundImageView.Leading = containerView.Leading - 20
问题是按大小 类 定义的故事板约束不够强大,无法表达 屏幕宽度 >/<= 屏幕高度 等条件(例如:iPad Air Fullscreen 始终具有规则的宽度和高度,但 屏幕宽度 < 屏幕高度纵向模式和屏幕宽度 > 屏幕高度(横向模式)。
我也尝试过定义设备设置的背景图像资源,但它只允许指定图像的 iPhone/iPad x1、x2 和 x3 版本。
您不需要自动布局。使 UIImageView 填满整个屏幕,然后 select 背景 UIImageView 的 Aspect Fill 模式。
结果:
请注意,背景图片 (1) 保持纵横比,(2) 水平和垂直居中,(3) 自动放大以适应最长轴。