使用Swift 2动画进行iOS开发


动画是任何应用程序的重要组成部分,因为它吸引用户注意应用程序。动画只是一组快速重复的图像。它还使您的应用程序与其他应用程序不同。

制作动画项目 - Kitty动画

这将是一个简单的项目,我们将在单击按钮时运行动画。我们将使用多个图像来创建GIF,因此下载任何GIF并将其转换为图像,这将为您提供该GIF的多个帧。

在本节中,我们将使用以下图像。

动画

这些图像在一起播放时会创建动画。因此,我们将制作单一视图应用程序。然后,我们将在主视图控制器内拖动图像视图选项,标签和按钮。完成后,我们将图像视图和按钮连接到swift文件。

(如果您不想使用这些图像,请搜索任何gif并使用一些gif到图像转换器将其转换为在线图像。)

在按钮操作中,我们将插入以下命令以在按下按钮时显示图像。

imageView.image = UIImage(named: "frame_0_delay-0.1s.gif")
// frame_0_delay-0.1s.gif, is the name of image

这是我们以编程方式将图像分配给图像视图的方式。该视图现在应如下所示 -

分配图像

运行应用程序时将出现第一个视图。当我们单击Animate按钮时,将显示图像。

动画按钮

这不是动画,只是图像。我们现在将创建动画 -

在图像插座下方添加变量: var counter = 1

看到我们的图像有一个共同的名称,只有一个字符是不同的。更改动画按钮的代码,如下所示 -

@IBAction func animatePressed(_ sender: Any) {
   imageView.image = UIImage(named: "frame_\(counter)_delay-0.1s.gif")
   counter += 1
   if counter == 9 {
      counter = 0
   }
}

现在,当您按下 动画 按钮时,图像每次都会更改。下一步是创建以下内容

  • 创建一个变量 - isAnimating 并为其指定False。

  • 创建一个计时器变量并为其分配一个 Timer() 函数。

完成上述两个步骤后,创建一个函数动画并粘贴以下代码。

func animate() {
   imageView.image = UIImage(named: "frame_\(counter)_delay-s.gif")
   counter += 1
   if counter == 9 {
      counter = 0
   }
}

其中,counter是我们在前一个文件中创建的计数器变量。现在,在animate按钮功能中,添加以下代码

if isAnimating {
   timer.invalidate()
   isAnimating = false
} else {
   timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector:
   #selector(ViewController.animate), userInfo: nil, repeats: true)
   isAnimating = true
}

尝试运行该应用程序,我们将看到您的设备上正在运行动画。

挑战 - 添加一个停止动画的停止按钮。