【问题标题】:UIView.animate() issueUIView.animate() 问题
【发布时间】:2021-03-20 15:50:40
【问题描述】:

我有一个代码,其中 UI 元素在用户交互后更改。我使用UIView.animate() 来刷新用户界面。代码很简单:

UIView.animate(withDuration: 1.0) {
    self.fadeIn()
} completion: { _ in
    UIView.animate(withDuration: 1.0) {
        self.fadeOut()
    }
}

非常重要的一点是动画从头到尾的总时长应该是 2 秒。但有时,fadeIn() 中没有 UI 更改,UIView.animate() 只是立即进入完成块。但在该选项中,我希望延迟持续时间(1 秒),并且只有在那之后才能到达 fadeOut 的完成块。即使在动画块中没有动画,我如何强制动画持续时间?提前致谢!

【问题讨论】:

    标签: swift xcode uikit


    【解决方案1】:

    也许不要在完成块中调用fadeOut(),而只是确保在调用fadeIn() 后延迟一秒调用它?

    UIView.animate(withDuration: 1.0) {
        self.fadeIn()
    } 
    
    UIView.animate(withDuration: 1.0, delay: 1.0) {
        self.fadeOut()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      相关资源
      最近更新 更多