我有红色堆栈视图。
它包含一个标签和一个紫色自定义视图。
看起来如下
我想实现的是
我使用下面的代码
class ViewController: UIViewController {
@IBOutlet weak var purpleView: UIView!
@IBOutlet weak var stackView: UIStackView!
@IBOutlet weak var purpleViewHeightConstraint: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
var value: CGFloat = 200.0
@IBAction func buttonClicked(_ sender: Any) {
if value == 500 {
value = 200.0
} else {
value = 500.0
}
UIView.animate(withDuration: 2) {
self.purpleViewHeightConstraint.constant = self.value
self.purpleView.setNeedsLayout()
self.purpleView.layoutIfNeeded()
}
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我所取得的成就。
我们可以观察
不删除UIStackView,我怎样才能实现?
我发布了演示项目 - https://github.com/yccheok/animate-stack-view-item
谢谢。
像这样设置你的按钮动作
@IBAction func buttonClicked(_ sender: Any) {
if value == 500 {
value = 200.0
} else {
value = 500.0
}
self.purpleViewHeightConstraint.constant = self.value
UIView.animate(withDuration: 2) {
self.view.layoutIfNeeded()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |