ios - UIStackView - 用动画隐藏和折叠子视图
问题描述
我正在尝试像这样隐藏 UIStackView 的子视图:
UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 2.0,
delay: 0, options: [.curveEaseOut], animations: {
self.label.isHidden = true
self.label.alpha = 0.0
self.stackView.layoutIfNeeded()
})
但是,使用此代码后,标签会立即消失。我怀疑这是因为设置isHidden
为 true,这是折叠所必需的。
有没有办法用动画隐藏和折叠 UIStackView 的 subvew?或者根本不使用 UIStackView 可能会更好?
解决方案
根据苹果的文档:
通过将这些更改放置在动画块中,您可以对排列的子视图的 isHidden 属性和对堆栈视图的属性的更改进行动画处理。
我已经使用 iOS 12.1 Simulator 测试了以下代码,它按预期工作。
UIView.animate(
withDuration: 2.0,
delay: 0.0,
options: [.curveEaseOut],
animations: {
self.label.isHidden = true
self.label.alpha = 0.0
})
推荐阅读
- java - MonetaryException:未加载 MonetaryAmountsSingletonSpi
- python - python NLP和正则表达式缺少单词之间的空格
- javascript - 对于 html 文档,JavaScript 中的 pageYoffset 值与单击锚标记时的正常滚动不同
- python-3.x - Kivy 应用程序窗口图标
- python - Pandas:如果有任何值小于以前的值,我如何检查多个列?
- java - . 如何使用 SQLite 更新单个数据库元素?
- activejdbc - ConnectionSpecWrapper 在最近的版本中不再存在
- c# - 在构造函数 C# 中创建 ObservableCollection
- c# - 从 MQ 侦听时出现 MSMQ getBody 异常
- php - Laravel 仅从关系中附加一个属性