登录-UIView动画第2部分
受上一篇文章的激励,并愿意履行您的职责,我开始创建动画教程的第二部分。
在上一篇文章中,我解释了如何使用Lottie创建简介动画,这非常容易,因为感谢airbnb团队,该库的使用非常简单。
在开始本教程之前,我们必须了解一些术语,以便以编程方式创建没有库的动画。
词汇表
我想您熟悉UIView类,否则不用担心,请继续阅读。
UIView
一个对象,用于管理屏幕上矩形区域的内容。
界线
边界矩形,它描述视图在其自己的坐标系中的位置和大小。
UIView.bounds的默认值为(0,0,width,height)。
注意:宽度和高度是浮点数
帧
框架矩形,用于描述视图在其超级视图的坐标系中的位置和大小。
中央
框架的中心。
所以,让我们开始吧
首先,我们将通过情节提要创建我们的界面(如果您更喜欢通过代码进行创建,则过程将相同)
向您的故事板添加一个新的空viewController
让我们创建我们的login.swift。 我曾经尝试使用Cocoa Touch Class,因为这是获取viewController类的空模板的简单方法。
我们需要将UI链接到我们的课程。
我添加了一个UILabel ,两个UITextfields和一个UIButton ,它看起来像这样:
让我们使用UIView.animate进行动画处理
我们将在本教程中避免约束,但是使用它们非常重要。
好的,让我们一起做
首先,我们必须保存当前元素的位置。 这将是有用的。
如果我们想在没有动画的情况下更改位置,我们可以这样做
self.lblLogin.frame = CGRect(x:0,y:self.lblLogin.layer.position.y,宽度:self.lblLogin.frame.size.width,高度:self.lblLogin.frame.size.width)
我认为这很令人困惑。 因此,我在oder中创建了此功能,以使此过程更容易。
现在,您可以像这样更改位置元素
self.position(self.lblLogin,x:0,y:nil,隐藏:true)
此功能的作用
view_ :这是一个UI元素,它将改变其位置
x :在父位置是斧头,但是如果您不想更改其值,则可以为null。
y :在父级位置是ay,但是如果您不想更改其值,则可以为null。
hidden :如果位置为零,但又不想观看,则将hidden设置为true。
然后,下一步是:为所有UI元素设置初始位置。
最后是动画
完整的Login.swift文件