【问题标题】:Hiding an arrangedSubview in animation block UIStackView在动画块 UIStackView 中隐藏排列的子视图
【发布时间】:2018-04-23 14:13:33
【问题描述】:

我正在尝试使用堆栈视图创建一个 可扩展视图,非常容易,因此当用户单击 StackView 的第一个排列的子视图时,第二个的 isHidden 属性被设置为假,因此它有动画效果。

功能有效,但动画效果不佳。每次将 isHidden 属性设置为 false 时,排列的子视图不会从第一个排列的子视图下方动画,而是从屏幕顶部动画。

关于如何解决这个问题的任何想法?我正在使用这段简单的代码,如 Apple 的 UIStackView 文档中所述:

UIView.animate(withDuration: animationDuration) {
        let bodyView = self.stackView.arrangedSubviews[1]
        bodyView.isHidden = !self.isExpanded
        self.expandArrowImageView.transform = CGAffineTransform(rotationAngle: angle)
    }

【问题讨论】:

标签: ios swift layout uistackview


【解决方案1】:

您需要在视图出现后调用代码,即在 viewDidAppear 中。您现在看到的动画行为发生在您尝试在视图出现之前调用它时,即在 viewDidLoad

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 1970-01-01
    • 2017-02-26
    • 2019-05-31
    • 2021-06-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多