【问题标题】:how to put constraints on views in interface builder to satisfy all iphone Screen in Xcode 8如何在界面生成器中对视图施加约束以满足 Xcode 8 中的所有 iphone 屏幕
【发布时间】:2017-04-10 17:51:02
【问题描述】:

我一直在尝试以下方法,例如固定、纵横比、垂直间距、水平/垂直间距、前导/尾随空间;但它不适用于 iPhone se 及更高版本的所有 iPhone 屏幕。

【问题讨论】:

    标签: ios autolayout interface-builder xcode8 ios-autolayout


    【解决方案1】:

    您不再为每个设备应用约束。您可以为每个尺寸类别应用自动布局约束。

    如果您知道每个 iOS 设备在每个方向都属于一个尺寸等级。如果您不知道尺寸等级,请阅读它。

    关于回答你的问题, 1. 您将在任何 x any 中添加在所有尺寸类别中通用的约束。

    2.您始终可以添加特定于尺寸类的约束(我的意思是您可以添加一个尺寸类的约束,而如果您不想要它,可以在其他尺寸类中卸载它)

    3.您可以选择任何约束并为其提供常量值,特定于尺寸类的乘数(例如:您可以在 CxC 中将高度约束常量设置为 50,而您可以将其设置为 150 in (R x R)不添加新的约束。

    【讨论】:

      【解决方案2】:

      通过将乘数设置为正确的值,您可以实现这一点。 我以非编程方式尝试过,并且只在 Xcode 8 中尝试过:

      • 选择其中一个新视图并按住 ctrl 并拖动到最顶部的外部视图(或父视图)会导致不同屏幕尺寸的变化。
      • 然后按住 shift 并选择多个选项:1)等宽等高,2)在容器中水平居中,3)在容器中垂直居中。完成此操作后,您将看到黄线(围绕您的新视图),说明未满足的约束。
      • 然后选择每个约束线(黄色)或选择视图控制器场景列中显示的不同约束并修改乘数,直到黄色线变为蓝色,即直到它满足需要新视图的位置位于最顶层视图或父视图中。

      screenshot showing multiplier for setting in Interface builder

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-01
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多