在 iOS 11 中,隐藏动画的行为UIStackView
已更改,但我无法在任何地方找到此记录。
iOS 10
![iOS 10 animation](https://i.stack.imgur.com/bgmwA.gif)
iOS 11
![iOS 11 animation](https://i.stack.imgur.com/TwBa7.gif)
两者的代码都是这样的:
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 中的一个问题,但公平地说,它一直是推荐的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)