Swift:移动动画

4

我在storyboard中有一个viewController和4个正方形。我想将我的正方形放在视图上。首先,我想显示两个正方形。如果我按按钮,我希望我的红色2个正方形向左移动并显示下一个2个蓝色正方形。就像这个动画。

enter image description here

我需要创建一个scrollView、collectionView或其他什么来移动这些正方形吗?最好的创建方式是什么?

1
我建议,如果你正在制作游戏,创建项目时选择Game并使用Sprite Kit以获得更好的性能。 - George
我没有创建一个游戏。在我的项目中,这些正方形是按钮。如果我按下另一个按钮(不是正方形),我可以看到带有蓝色正方形的第二个部分。 - user8590407
1个回答

10

使用UIView.animate和CGAffineTransform

准备工作

创建一个包含正方形的UIView。确保已启用剪裁ToBounds属性,然后将四个正方形添加到其中,蓝色的正方形嵌套在UIView中,但它们的坐标超出容器范围,因此它们会被剪裁。

Storyboard编辑器视图

接下来,当您想要移动它们时,只需将所有正方形向左平移x个单位即可。将此动作放入UIView.animate块中,iOS将为您执行动画。

UIView.animate(withDuration: 2.0) {
    self.redTopView.transform = CGAffineTransform(translationX: -160, y: 0)
    self.redBottomView.transform = CGAffineTransform(translationX: -160, y: 0)
    self.blueTopView.transform = CGAffineTransform(translationX: -160, y: 0)
    self.blueBottomView.transform = CGAffineTransform(translationX: -160, y: 0)
}

最终结果:http://g.recordit.co/SToMSZ77wu.gif


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接