Stackview 不会遵守约束

问题描述 投票:0回答:1
我有 4 个垂直堆栈(NameStack、EmailStack、PasswordStack、ConfirmPasswordStack)和一个嵌入在另一个垂直堆栈(FormStack)中的视图(CreateAccountView),该视图位于视图(FormView)内,但最里面的堆栈(NameStack、EmailStack、PasswordStack、ConfirmPasswordStack) ) 不会遵守前导 + 20pt 约束,而是紧贴 FormStack 的前导边缘。

当我检查冲突约束时,似乎存在一个幻像约束,我似乎无法找到/删除(leading=NameStack.leading)。

我已经尝试多次添加删除所有约束,删除所有其他内部堆栈并仅使用 NameStack,但我无法让内部 NameStack 领先 + 20pt。

期望的结果如下。

xcode storyboard constraints uistackview
1个回答
0
投票
对于初学者来说,看起来您将堆栈视图设置为

Alignment: Center

,而它们应该是 
Alignment: Fill

提示:设计 UI 时(尤其是学习布局时),为 UI 元素提供对比背景颜色,以便更容易看到正在发生的情况。

例如:

    灰色:FormView
  • 青色:FormStack
  • 粉色:姓名/电子邮件/密码/确认堆栈视图
  • 绿色:标签
  • 黄色:文本字段
当我们运行它时,它看起来像这样:

当我们对布局感到满意时,我们可以删除背景颜色:

© www.soinside.com 2019 - 2024. All rights reserved.