Ios 我希望两个按钮具有相同的宽度,并使用autolayout在从屏幕顶部开始的所有屏幕大小中按比例定位?

Ios 我希望两个按钮具有相同的宽度,并使用autolayout在从屏幕顶部开始的所有屏幕大小中按比例定位?,ios,autolayout,nslayoutconstraint,ios-autolayout,Ios,Autolayout,Nslayoutconstraint,Ios Autolayout,附加我计划设计的视图。我想根据Superview定位按钮,它们的宽度和高度必须与屏幕大小成比例增加,而不是保持固定 附加屏幕预览: 对于左侧按钮: 视图顶部的顶部约束 视图左边缘的左约束 高度限制 右按钮的右约束->将为0 对于右侧按钮: 视图顶部的顶部约束 视图右边缘的右约束 高度限制 左约束到右按钮->这将是0 您可以尝试使用Xcode7支持的StackView特性,看看本教程 我的答案有点不同。除非有特殊要求,否则我不喜欢使用尺码等级。现在,根据您的要求,我将禁用size类,并添加如下约束

附加我计划设计的视图。我想根据Superview定位按钮,它们的宽度和高度必须与屏幕大小成比例增加,而不是保持固定

附加屏幕预览:

对于左侧按钮:

  • 视图顶部的顶部约束
  • 视图左边缘的左约束
  • 高度限制
  • 右按钮的右约束->将为0
  • 对于右侧按钮:

  • 视图顶部的顶部约束
  • 视图右边缘的右约束
  • 高度限制
  • 左约束到右按钮->这将是0

  • 您可以尝试使用Xcode7支持的StackView特性,看看本教程

    我的答案有点不同。除非有特殊要求,否则我不喜欢使用尺码等级。现在,根据您的要求,我将禁用size类,并添加如下约束

    我将在名为SpacerView的按钮上方的superview中添加一个清晰的颜色alpha 0 UIView

    间隔视图-

    1) 导致superView-0-用于对齐视图

    2) 拖尾到superView-0-用于对齐视图

    3) 顶部到superView-0-用于对齐视图

    4) 与SuperView成比例的高度-用于动态调整视图的高度

    按钮1-

    1) 导致superview-0-用于对齐按钮1

    2) 拖至按钮2-0-用于对齐按钮1和按钮2

    3) 与超级视图成比例的高度-40:568-用于动态调整按钮1的高度

    4) 与按钮2等宽-0-用于调整按钮2与按钮1等宽的大小

    5) 与按钮2高度相等-0-用于调整按钮2与按钮1高度相等的大小

    6) 顶部至顶部视图-0-用于对齐按钮1

    7) 将Y居中至按钮2-0-按钮2与按钮1对齐

    按钮2-

    1) 拖尾至superView-用于对齐按钮2


    根据您的要求,这里甚至没有一个约束是额外的。如果您仍然有问题,我可以向您发送一个测试存储库,以供您理解。

    这是一个仅用于一行按钮的示例,因此它们可以用于其他UI元素

    将这些约束放在按钮上:

    左键:

    • 左前导约束
    • 顶端前导约束
    • 高度限制
    右键

    • 右尾随约束
    • 顶端前导约束
    • 高度限制
    和与两个按钮相关的约束: (您需要选择两个按钮才能应用关系约束)

    • 按钮之间的间距约束
    • 这些按钮的宽度相等
    在界面生成器中,它看起来像这样:

    这些布局是通用的,所以我选择了一些设备尺寸来展示:

    iphone5

    iphone6

    iphone6plus

    。。。等等。

    步骤 1.并排拿两颗钮扣。 2.为左按钮前导、顶部到superview提供约束。 3.选择左侧按钮的高度。 3.按控制键将光标从左键拖动到右键,然后选择水平间距(选择两个按钮之间的间距) 4.将约束赋予右侧按钮顶部,尾部为superview。 5.选择右侧按钮的高度。 6.现在按command,选择两个按钮,并查看右侧下方的pin选项“选择相等宽度”。
    7.如果某个警告正在显示,则单击“删除该警告”即可解决问题。

    我找到了解决方案。以下是我提供的约束条件

    左键:

    1.左前导约束 2.顶端前导约束

    右键

    1.右尾随约束 2.顶部引导约束

    两者都有

    1.等高限制 2.等宽度约束


    为了根据superview按比例增加高度,我添加了从两个按钮到superview的纵横比约束,按钮高度为superview高度的0.6

    可能重复只需更改上面链接中的一个约束即可,该约束用于更改高度以使其具有相同的高度mainview@EICaptainv2.0我可以将按钮宽度指定为superview宽度的50%,而不是使用相等的宽度吗?如果按钮具有不同的宽度,我如何处理相同的场景?比Xcode版本更重要的是,iOS 9提供了
    UIStackView
    。@subin272在生成此答案时,我没有在您的问题中看到图像。若要完全按照图像中提供的方式建立场景,请使用“我的指南”,只需在情节提要中选择适当的前导和尾随约束,并将值设置为0。Xcode可以很好地处理这个问题。它们是两个按钮之间的间距约束、左按钮的前导左约束和右按钮的尾随右约束。