我正在尝试使用堆栈 View 创建一个可扩展 View ,非常容易,因此当用户单击StackView的第一个arrangedSubview时,第二个的isHidden属性被设置为 false,因此它具有动画效果。
该功能可以运行,但动画效果还差得远。每次将 isHidden 属性设置为 false 时,排列的 subview 不会从第一个排列的 subview 下方进行动画处理,而是从屏幕顶部进行动画处理。
关于如何解决这个问题有什么想法吗?我正在使用这段简单的代码,如 Apple 的 UIStackView 文档中所述:
UIView.animate(withDuration: animationDuration) {
let bodyView = self.stackView.arrangedSubviews[1]
bodyView.isHidden = !self.isExpanded
self.expandArrowImageView.transform = CGAffineTransform(rotationAngle: angle)
}
最佳答案
您需要在 View 出现后调用代码,即在 viewDidAppear 中。当您尝试在 View 出现之前调用它时,即在 viewDidLoad 中,您现在看到的动画行为就会发生
关于ios - 在动画 block UIStackView 中隐藏排列 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221256/