【问题标题】:Resizing Button within a stackview在stackview中调整按钮大小
【发布时间】:2017-10-21 02:43:29
【问题描述】:

所以我最近一直在研究 Swift/iOS 开发,但在调整堆栈视图中的按钮大小时遇到​​了一点问题,我有以下布局:

垂直StackView中有两个TextField和一个按钮,StackView水平和垂直居中(有一点间距)。它是左右边距的锚定宽度方式。

我想减小按钮的大小,使其约为 StackView 宽度的 80%。

我尝试过的事情:

  • 为按钮的宽度添加约束,这会导致冲突 使用 StackView。
  • 添加一个子 StackView,然后尝试将其设置为左/右 锚定约束到 20 并认为它会给它一点 利润。这再次导致与外部堆栈视图发生冲突。

我在故事板视图中而不是在代码中做这一切,因为我试图了解界面。

我已经进行了很好的搜索,但似乎找不到任何适用的答案,如果它看起来很基本,请道歉,但我认为如果其他 Xcode/Swift 新手遇到这个问题,它可能会有所帮助。

【问题讨论】:

    标签: ios uibutton autolayout uistackview


    【解决方案1】:

    试试这个..

    1. 删除按钮的前导和尾随约束。
    2. 为按钮添加约束容器中的水平
    3. 添加约束 Equal Width 具有超级视图的按钮(我想应该是堆栈视图)。像这样.. 按control + 从 StackView 按钮拖动指针,然后从小弹出菜单中选择 Equal widths

    4. 编辑等宽约束并将乘数设置为0.8

    【讨论】:

    • 嗯,谢谢。问题是按钮似乎没有任何约束,它们都在 stackview 上,并从 stackview 中删除它们,然后将其应用于其中的所有内容。
    • 如果按钮上没有其他约束,那很好......你可以跳过第一点添加其他约束......我认为它应该可以工作。
    • 啊抱歉,嗯,等宽已禁用。我猜是因为 StackView 约束会发生冲突。
    • 您必须按下control 并将按钮拖到StackView,然后会出现一个小窗口弹出窗口。选择“等宽”...我要添加一些屏幕截图,希望可以。
    【解决方案2】:

    按住 Control 按钮并单击并拖动要调整大小的按钮到相同的按钮,然后选择宽度和高度,然后选择添加约束。这将为您提供图像按钮的大小,因此您可以在 Inspector 中更改它。请记住将视图更改为 Scale to Fill。这已经为我解决了。

    【讨论】:

      【解决方案3】:

      对于那些试图在 stackView 中调整某些视图高度的人,如下例所示:

      首先,设置 StackView 的约束(width/height,x,y),然后设置 StackView 属性如下:

      接下来,选择要调整大小的视图。 IE。 绿色的,并添加以下约束:

      然后只需向其他视图/按钮/标签添加更多约束即可。 在这个例子中,这里是蓝色和橙色视图的约束:

      蓝色

      还有,

      橙色:

      希望对你有帮助。

      【讨论】:

      • 很好,我现在不在,但我进去后会检查一下 - 谢谢!
      猜你喜欢
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多