登录-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文件