Ios 理解Swift中的UIView动画

Ios 理解Swift中的UIView动画,ios,swift,uiview,uikit,uiviewanimation,Ios,Swift,Uiview,Uikit,Uiviewanimation,我知道如何使用animate()函数设置UIView的动画。我试图理解的是,为什么动画通常发生在类上,而不是特定的实例上。我不知道该用什么词来描述这一点,所以我找不到这方面的任何资源 例如,如果我想使用SpriteKit并移动一个节点,我会使用node.run(SKAction.move(to:CGPoint.zero,0.5)。这对我来说很有意义。它定义了一个SKAction(以便在需要时可以与其他节点一起使用),然后将其应用于特定节点 如果我想对视图执行相同的操作,我会执行以下操作: exa

我知道如何使用
animate()
函数设置UIView的动画。我试图理解的是,为什么动画通常发生在类上,而不是特定的实例上。我不知道该用什么词来描述这一点,所以我找不到这方面的任何资源

例如,如果我想使用SpriteKit并移动一个节点,我会使用
node.run(SKAction.move(to:CGPoint.zero,0.5)
。这对我来说很有意义。它定义了一个SKAction(以便在需要时可以与其他节点一起使用),然后将其应用于特定节点

如果我想对视图执行相同的操作,我会执行以下操作:

exampleViewConstraint.constant = 0
UIView.animate(withDuration: 0.5) { [weak self] in
  self?.view.layoutIfNeeded()
}
除了这个更复杂的措辞,我不明白为什么在课堂上一般都会用到这个。我很难概念化。这里到底发生了什么

  • 当你在一个普通类上调用一个函数时,它会做什么?有没有其他的例子可以使用它?为什么你需要在这里使用一个类函数
  • 我知道闭包捕获父类的视图,但是如果在同一个函数的其他地方有另一个视图呢?我如何指定它为视图1而不是视图2设置动画
  • 为什么必须以如此令人困惑的方式来完成这项工作

提前感谢您的帮助!

您可能会感兴趣。啊,这太棒了!我找不到合适的搜索词,谢谢您找到这个!