首页 > 解决方案 > 在 UIStackView 中隐藏和取消隐藏按钮时出现奇怪的动画

问题描述

当一个按钮被按下时,我正在尝试在堆栈视图中对按钮进行动画处理。隐藏相机按钮时,动画看起来不错,但取消隐藏时它会从左侧滑入,看起来很奇怪。

链接到 GIF,因为 StackOverflow 不允许我嵌入

下面的代码:

@IBAction func scanButtonTapped(_ sender: Any) {
    
    
    UIView.animate(withDuration: 0.3) { [self] in
        if cameraButton.alpha == 0{
            cameraButton.alpha = 1
        }else{
            cameraButton.alpha = 0
        }
    }
    
    UIView.animate(withDuration: 0.3) { [self] in
        cameraButton.isHidden.toggle()
        
    }
    
}

我试图通过使用约束而不是堆栈来修复它,但无济于事。如果有人可以提供帮助,将不胜感激。(请忽略 if/else 语句有多糟糕)

标签: swiftconstraints

解决方案


为@Ibrahimyilmaz 干杯。解决方案涉及在stackView.layoutIfNeeded() 之后添加isHidden.toggle()

在此处输入图像描述

关于此礼貌的更多信息@aheze


推荐阅读