这里需要感谢彭孝东老师通俗易懂的讲解,为各位初学者提供很好的入门视频,代码如下:
//
// ViewController.swift
// 2th
//
// Created by chenqy on 16/11/20.
// Copyright © 2016年 chenqy. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
let btnStart = 1
let btnStop = 2
@IBOutlet weak var randomLabel: UILabel!
@IBOutlet weak var rotateImageView: UIImageView!
@IBOutlet weak var zoomImageView: UIImageView!
var timer:NSTimer!
var orgFrame:CGRect!
var strArray = ["abc", "bcd", "cde", "def", "efg", "fgh"];
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.orgFrame = zoomImageView.frame;
}
func timeActions(){
self.rotateImageView.transform = CGAffineTransformRotate(self.rotateImageView.transform, CGFloat(20.0/180*M_PI))
let index = Int(arc4random())%self.strArray.count;
self.randomLabel.text = self.strArray[index]
UIView.animateWithDuration(0.1, animations: {
self.zoomImageView.frame = CGRect(x:self.orgFrame.origin.x-10,y:self.orgFrame.origin.y-10,width:self.orgFrame.size.width+20, height:self.orgFrame.size.height+20)
}) { (true) in
self.zoomImageView.frame = CGRect(x:self.orgFrame.origin.x,y:self.orgFrame.origin.y,width:self.orgFrame.size.width, height:self.orgFrame.size.height)
}
}
@IBAction func testBtn(sender: UIButton) {
if sender.tag == btnStart{
sender.setImage(UIImage(named:"stop"), forState: UIControlState.Normal)
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: #selector(self.timeActions), userInfo: nil, repeats: true)
sender.tag = btnStop
}else{
sender.setImage(UIImage(named:"start"), forState: UIControlState.Normal)
timer.invalidate()
sender.tag = btnStart
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
效果:
下载测试包地址:http://download.csdn.net/detail/chenyefei/9688089