iOS-NSTimer()

NSTimer

每隔一定時間執行某個函數

//創建定時器
//參數1.定時時間
//參數2.調用方法的對象
//參數3.定時時間到了自動調用的方法
//參數4.nil
//參數5.是否重復

NSTimer.scheduledTimerWithTimeInterval(0.3, target: self, selector: #selector(timmer), userInfo: nil, repeats: true)

實例:使用NSTimer實現幀動畫

import UIKit
class ViewController: UIViewController {
var imageview = UIImageView()
override func viewDidLoad() {
    super.viewDidLoad()
    backImage()
    creatUI()
    //創建定時器
    //參數1.定時時間
    //參數2.調用方法的對象
    //參數3.定時時間到了自動調用的方法
    //參數4.nil
    //參數5.是否重復
    
    NSTimer.scheduledTimerWithTimeInterval(0.3, target: self, selector: #selector(timmer), userInfo: nil, repeats: true)

}
//MARK:定時器到時會調用的方法
func timmer() {
    //改變圖片的位置
    //1.先拿到圖片原來的位置
    let frame = imageview.frame
    imageview.frame = CGRectMake(frame.origin.x+10,frame.origin.y,121,96)
    if frame.origin.x>self.view.bounds.width {
        imageview.frame.origin.x = 0
    }
    
}

//MARK:創建界面
//背景圖片
func backImage()  {
    let imageview1 = UIImageView.init(image: UIImage.init(named: "back2.jpg"))
    imageview1.frame = CGRectMake(0, 0, self.view.bounds.width, self.view.bounds.height)
    self.view.addSubview(imageview1)
}
//搭建頁面
func creatUI() {
    imageview = UIImageView.init(image: UIImage.init(named: "DOVE 1"))
    imageview.frame = CGRectMake(30,300,121,96)
    self.view.addSubview(imageview)
    //設置動畫數組
    var imageViewarr = [UIImage]()
    
    for i in 1...18{
         let image1 = UIImage.init(named: "DOVE \(i)")
        imageViewarr.append(image1!)
    }
    imageview.animationImages = imageViewarr
    imageview.animationDuration = 1
    imageview.animationRepeatCount = 0
    imageview.startAnimating()
   }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容