Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用autolayout在故事板中设置约束,以便在不同大小的设备上进行动态定位_Ios_Iphone_Xcode_Autolayout_Constraints - Fatal编程技术网

Ios 如何使用autolayout在故事板中设置约束,以便在不同大小的设备上进行动态定位

Ios 如何使用autolayout在故事板中设置约束,以便在不同大小的设备上进行动态定位,ios,iphone,xcode,autolayout,constraints,Ios,Iphone,Xcode,Autolayout,Constraints,如果我想保证多屏幕支持,使所有UI控件都可以访问,并且当我在大屏幕设备(IPhone 6)上设计时,在小屏幕设备(IPhone 4s或IPhone SE)上不会弄乱UI,那么我有一个问题,那就是如何在带有autolayout的故事板中设置约束。我有一个在iPhone6上构建的设计(在一个草图文件中),我想把它传输到我的故事板上。因此,一般来说,我希望在故事板中设置所有视图内容,而不是通过代码 这是我的限制。底部按钮的固定高度为48,左右两侧有引线边距,底部的垂直距离为100。顶部按钮与底部按钮的

如果我想保证多屏幕支持,使所有UI控件都可以访问,并且当我在大屏幕设备(IPhone 6)上设计时,在小屏幕设备(IPhone 4s或IPhone SE)上不会弄乱UI,那么我有一个问题,那就是如何在带有autolayout的故事板中设置约束。我有一个在iPhone6上构建的设计(在一个草图文件中),我想把它传输到我的故事板上。因此,一般来说,我希望在故事板中设置所有视图内容,而不是通过代码

这是我的限制。底部按钮的固定高度为48,左右两侧有引线边距,底部的垂直距离为100。顶部按钮与底部按钮的高度相等,与底部按钮的距离为28

这是IPhone 6上带有上述按钮的设计视图。这是我要设置草图文件的情节提要原因的默认大小

这是IPhone 4s上的视图

如您所见,按钮靠近中间位置,导致垂直距离和高度固定。我的意思是这显然是固定值的原因。所以我做了一些关于百分比位置的研究,比如,但这是正确的方法吗?另外,其他方面对我来说也很复杂。如何防止高度和垂直距离等固定值?有没有办法将IPhone 6的固定高度设置为48,然后根据屏幕大小(底部垂直距离和其他固定值相同)缩小按钮(适用于IPhone SE)


有人能给我一些建议吗?

这有点复杂,我尽量解释清楚

注意:自动布局就像一步一步地构建一个建筑物

选择顶部按钮并添加这些约束(前导:8,尾随:8,选择纵横比复选框)+并添加水平中心和垂直中心约束选择垂直中心约束,并将其乘数更改为1.5,或相应地增加或减少其值。

在此之后应该没有错误,只有警告(如果有)

选择第二个按钮并将顶部约束添加到8。选择两个按钮并添加在屏幕短框中突出显示的约束


在不同的屏幕上运行和检查。希望能有帮助。

有点复杂,我尽量解释

注意:自动布局就像一步一步地构建一个建筑物

选择顶部按钮并添加这些约束(前导:8,尾随:8,选择纵横比复选框)+并添加水平中心和垂直中心约束选择垂直中心约束,并将其乘数更改为1.5,或相应地增加或减少其值。

在此之后应该没有错误,只有警告(如果有)

选择第二个按钮并将顶部约束添加到8。选择两个按钮并添加在屏幕短框中突出显示的约束

在不同的屏幕上运行和检查。希望能有所帮助。

  • bottomButton.bottom=superview.bottom*0.9

  • 通过代码更改底部约束

        bottomConstraint.constant = xx
        self.view.layoutIfNeeded()
    
      • bottomButton.bottom=superview.bottom*0.9

      • 通过代码更改底部约束

            bottomConstraint.constant = xx
            self.view.layoutIfNeeded()
        

      此链接可能有助于您。。。我也在寻找同样的东西…但没有找到任何成功的机会…大多数时候我用的是空视图。。表示具有相等高度乘数的空白视图,用于根据设备分辨率管理空间。。但您也可以使用
      中心Y
      约束(非首选)和一些常量,例如,此链接可能有助于您。。。我也在寻找同样的东西…但没有找到任何成功的机会…大多数时候我用的是空视图。。表示具有相等高度乘数的空白视图,用于根据设备分辨率管理空间。。但您也可以将
      中心Y
      约束(非首选)与一些常量一起使用,如