1、准备好素材。我只有动画素材,没得按钮素材。http://pan.baidu.com/s/1o7ey81G
2、效果图如下:
3、控件有:
UIButton、UIImageView
4、说明
我只做三个功能,其他的动画没有做。因为代码类似,就不赘述了。
5、源码:
import UIKit class ViewController: UIViewController { ///---控件关联代码 @IBOutlet weak var imageview: UIImageView! @IBOutlet weak var drink: UIButton! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. } ///---吃东西 @IBAction func eatBtnClick(sender: UIButton) { btnClick(39,btnName: "cat_eat"); } ///---生气 @IBAction func angryBtnClick(sender: UIButton) { btnClick(25,btnName: "cat_angry"); } ///--喝牛奶按钮单击事件 @IBAction func btnDrinkClick(sender: UIButton) { btnClick(81,btnName: "cat_drink"); // ///---1.加载图片到数组中 // var imgArray = [UIImage](); // for (var i = 0; i < 81; i++) // { // let imageName = i < 10 ? "cat_drink000\(i)" : "cat_drink00\(i)"; // let image = UIImage(named: imageName)!; // imgArray.insert(image,atIndex: i); // } // ///---2、将数组添加到UIImageView中 // imageview.animationImages = imgArray; // ///---3、设置动画持续时间 // imageview.animationDuration = Double(imgArray.count) * 0.1; // ///---4、设置动画的持续次数 // imageview.animationRepeatCount = 1; // ///---5、开启动画 // imageview.startAnimating(); } ///--模板函数 ///---传入的参数: ///----imageCount:动画的图片数,btnName:动画的名字 func btnClick(imageCount:Int,btnName:String) { ///---1.加载图片到数组中 var imgArray = [UIImage](); for (var i = 0; i < imageCount; i++) { let imageName = i < 10 ? "\(btnName)" + "000\(i)" : "\(btnName)" + "00\(i)"; let image = UIImage(named: imageName)!; imgArray.insert(image,atIndex: i); } ///---2、将数组添加到UIImageView中 imageview.animationImages = imgArray; ///---3、设置动画持续时间 imageview.animationDuration = Double(imgArray.count) * 0.1; ///---4、设置动画的持续次数 imageview.animationRepeatCount = 1; ///---5、开启动画 imageview.startAnimating(); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
6、程序启动界面设置
在storyboard中选中ImageView控件,设置其属性名 Image。