UIStackView隐藏查看animation
在iOS 11中,隐藏animation在UIStackView
的行为已经改变,但是我一直无法在任何地方find这个logging。
iOS 10
iOS 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上恢复以前的行为?
刚刚有同样的问题。 解决方法是在animation块内添加“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中的问题,但公平的,它一直是推荐的方法。