UIStackView隐藏视图动画

在iOS 11中,a中的隐藏动画的行为UIStackView已更改,但是我无法在任何地方找到该文档。

iOS</p><p>10动画

iOS</p><p>11动画

两者中的代码是这样的:

UIView.animate(withDuration: DiscoverHeaderView.animationDuration,

delay: 0.0,

usingSpringWithDamping: 0.9,

initialSpringVelocity: 1,

options: [],

animations: {

clear.isHidden = hideClear

useMyLocation.isHidden = hideLocation

},

completion: nil)

如何在iOS 11上还原以前的行为?

回答:

只是有同样的问题。该修复程序将添加stackView.layoutIfNeeded()到动画块中。stackView您要隐藏的物品的容器在哪里?

UIView.animate(withDuration: DiscoverHeaderView.animationDuration,

delay: 0.0,

usingSpringWithDamping: 0.9,

initialSpringVelocity: 1,

options: [],

animations: {

clear.isHidden = hideClear

useMyLocation.isHidden = hideLocation

stackView.layoutIfNeeded()

},

completion: nil)

不确定为什么这在iOS 11中突然成为一个问题,但公平地说,这一直是推荐的方法。

以上是 UIStackView隐藏视图动画 的全部内容, 来源链接: utcz.com/qa/419823.html

回到顶部