今天,全国很多地方都降温了,在这里提醒各位看官多加衣物。
言归正传,今天我们来说一只不喜欢被戳肚子的猫咪——Tom Cat,大家请看Tom截图
现在我们看一下实现该工程的步骤:
1.先做准备工作:
除了要新建工程外,我们还要准备图片,这里我准备了Tom的26张连续起来的生气的图片(你们可以在尝试的时候任选图片,但大小要一致,命名也要一致,后两位用数字代替)
代码部分:(以下代码均写在application函数里)
然后初始化window,以下为初始化window的代码
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)//这里使用的是黑色的背景
self.window?.makeKeyAndVisible()
self.window?.rootViewController = UIViewController()
接下来就是关键代码的部分
//这一部分是为了调整图片大小,位置等
//UIImageView 图片展示控件,因为UIImage本身不具备显示功能,要想展示UIImage必须借助于UIImageView
let aimageview = UIImageView(frame: CGRect(x: 10, y: 10, width: (self.window?.bounds.width)!-20, height: (self.window?.bounds.height)!-20))//这里的宽高都是屏幕长度-20
aimageview.backgroundColor = #colorLiteral(red: 0.5568627715, green: 0.3529411852, blue: 0.9686274529, alpha: 1)
//aimageview.image = UIImage(named: "angry_00.jpg")
aimageview.image = #imageLiteral(resourceName: "angry_00.jpg")//另一种添加图片的方法同上
self.window?.addSubview(aimageview)
//使用UIImageView播放一组动态图片
//1.准备一组图片对象
var imageArray:[UIImage] = Array()
for i in 0...25 {
//准备图片名
let imageName = String(format: "angry_%02d.jpg", i)
//print(imageName)
//初始化图片对象
let image = UIImage(named: imageName)
//将图片放进数组中
imageArray.append(image!)
}
//给播放的动画赋值
aimageview.animationImages = imageArray
//2.设置动画持续时间
aimageview.animationDuration = 2.0
//3.设置动画重复次数
aimageview.animationRepeatCount = 1
//4.开始动画
//aimageview.startAnimating()
//不添加触发事件时是在这里开始动画
//以下为戳肚子部分
let angryButton = UIButton(frame: CGRect(x: 157, y: 510, width: 100, height: 120))
angryButton.backgroundColor = UIColor.black//为了button的调整位置,现设置为其他颜色,这里我选择黑色,调整好后black改为clear,或者注释掉,删掉
self.window?.addSubview(angryButton)
angryButton.addTarget(self, action: #selector(angryButtonAction), for: .touchUpInside)
//给属性imageview赋值
self.imageView = aimageview
现在来写一下触发button的事件(该部分代码,写在application函数外部)
//MARK:- button点击事件
func angryButtonAction() {
//开始动画
self.imageView.startAnimating()
}
以上的代码,就是Tom的全部代码,欢迎大家多多尝试,作出更多更有趣的事件。