更改约束以在 swift iOS 中展开视图

Changing constraints to expand a view in swift iOS

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

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

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

  1. 然后让绿框占满整个栈,这样屏幕就全绿了

我用“等宽约束”完成了 70:30 操作,如下所示:widths

我怎样才能实现这个功能,重置一切恢复正常的代码是什么? desired output

  1. 将 stackView 分布更改为 Fill Proportionally
  2. 为每个视图独立设置宽度约束(优先级= 999,允许中断)。 (第一个 0.7 of superview.width,第二个 0.3 of superview.width)。
  3. 调用firstView.isHidden = true,它会自动拉伸secondView以完全覆盖stackView - Expanded状态。
  4. 调用firstView.isHidden = false,它会让你回到初始状态。