问题描述
我有一个堆栈,里面有 2 个视图,黄色占堆栈的 70%,绿色占另外 30%。我想编写一个点击按钮:
- 将堆栈扩展到屏幕顶部,这是我通过以下方式完成的:
myStack.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
- 然后让绿色方块占据整个堆栈,这样屏幕就完全是绿色的
我已经用“等宽约束”完成了 70:30 的事情,如下所示:widths
我怎样才能实现这个功能,重置一切恢复正常的代码是什么? desired output
解决方法
- 将 stackView 分布更改为
Fill Proportionally
。 - 为每个视图独立设置宽度约束(优先级 = 999,允许中断)。 (
0.7 of superview.width
代表第一个,0.3 of superview.width
代表第二个)。 - 调用
firstView.isHidden = true
,它会自动拉伸 secondView 以完全覆盖 stackView - Expanded 状态。 - 调用
firstView.isHidden = false
,它会将您带回初始状态。