【问题标题】:Launch screen storyboard constraints in iOS Universal app在 iOS 通用应用程序中启动屏幕故事板约束
【发布时间】:2016-09-22 18:36:38
【问题描述】:

我正在为 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 版本的图片。

【问题讨论】:

    标签: ios xcode swift xcode7 swift2.2


    【解决方案1】:

    您不需要为此自动布局。让 UIImageView 填满整个屏幕,然后为背景 UIImageView 选择 Aspect Fill 模式。

    结果:

    请注意,背景图片 (1) 保持纵横比,(2) 水平和垂直居中,(3) 自动放大以适应最长轴。

    【讨论】:

    • 嗨,有推荐的图片尺寸吗?
    • @FernandoReynoso 如果您想要清晰的边缘,请将其设为 2001×2001 的正方形(iPhone 7 为 3 倍)。但是,如果背景是不需要清晰边缘的摄影背景,则图像尺寸并不重要,只要它不太小即可。让您的平面设计师做出选择。
    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    相关资源
    最近更新 更多