我正在尝试使用堆栈视图创建可扩展视图,非常容易,因此当用户点击StackView的第一个arrangeSubview时,第二个 isHidden 属性被设置错误,因此它动画。
该功能有效,但动画已关闭。每次 isHidden 属性设置为false时,排列的子视图不会从第一个arrangeSubview下方动画,而是从屏幕顶部动画。
关于如何解决这个问题的任何想法?我正在使用这段简单的代码,如Apple的UIStackView文档中所述:
UIView.animate(withDuration: animationDuration) {
let bodyView = self.stackView.arrangedSubviews[1]
bodyView.isHidden = !self.isExpanded
self.expandArrowImageView.transform = CGAffineTransform(rotationAngle: angle)
}
答案 0 :(得分:0)
您需要在视图出现后调用代码,即在viewDidAppear中。当您在视图出现之前尝试调用它时,您现在看到的动画行为就会发生,即在viewDidLoad
中