使用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

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

Assign Image

我们运行应用程序时将出现第一个视图.当我们点击Animate按钮时,图像就会出现.

Animate Button

这不是动画,只是图像.我们将现在和下面创建动画;

在图像插座下方添加一个变量: 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 
}

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

挑战 : 添加一个停止动画的停止按钮.