0

我有一个堆栈,里面有 2 个视图,黄色占堆栈的 70%,绿色占另外 30%。我想编写一个按钮,单击该按钮:

  1. 将堆栈展开到屏幕顶部,我通过以下方式完成:

myStack.topAnchor.constraint(equalTo: view.topAnchor).isActive = true

  1. 然后让绿色框占据整个堆栈,这样屏幕就会完全变绿了

我已经用“等宽约束完成了 70:30 的事情,如下所示:宽度

我如何才能实现此功能以及将一切恢复正常的代码是什么?期望的输出

4

1 回答 1

0
  1. 将 stackView 分布更改为Fill Proportionally.
  2. 为每个视图单独设置宽度约束(优先级 = 999,允许中断)。(0.7 of superview.width第一和0.3 of superview.width第二)。
  3. 调用firstView.isHidden = true,它会自动拉伸 secondView 以覆盖处于完全展开状态的 stackView。
  4. 调用firstView.isHidden = false,它将带您回到初始状态。
于 2021-06-21T08:45:53.027 回答