Swift - ios Tạo bộ đếm ngược thời gian NSTimer

Bài này mình sẽ hướng dẫn các bạn tạo bộ đếm ngược thời gian bằng các sử dụng hình ảnh.

Trong các ứng dụng game thì bộ công cụ đếm ngược thời gian rất hay được sử dụng. vậy làm thế nào để tạo một bộ đếm thời gian. trong bài trước mình đã hướng dẫn các bạn sử dung đối tượng NSTimer.  

1. Trước khi bắt đầu các bạn tải cho mình bộ ảnh thời gian đếm ngược ở đây nhé.

2. sau khi tải xong các bạn copy nó  vào project :

                       

Sau đó mở project lên : chuột phải vào thư mục project sao đó chọn  "add file to project" thư mục bạn vừa copy vào

"                                       


3.  Chúng ta bắt đầu tạo bộ đêm thời gian

3.1 Bài trước mình hd sử dụng kéo thả  . hôm này mình sẽ chỉnh sử dụng code để tạo giao diện cho bộ đếm.
và file "viewcontroller"

khai báo các biến sau
-> var imageTime:UIImageView   // dùng đối tượng uiimageview để hiển thị hình ảnh.
-> var timer:NSTimer!                   
-> var dem:Int!                              // biến đếm thời gian
-> var btnStop:UIButton!             // khai bái 1 control button để bắt sự kiện khi click vào nó. -> stop
-> var btnStart:UIButton!             // Khai váo control start 

                              

3.2 Tiếp theo vài func viewDidload() khởi tạo vị trí cho các đối tượng giao diện

 override func viewDidLoad() {
        super.viewDidLoad()

        // ảnh tại vị trí 150-200 có kích thước 75-75
        imageview = UIImageView(frame: CGRect(x: 150, y: 200, width: 75, height: 75))
        btnStart   = UIButton(frame: CGRect(x: 100, y: 300, width: 60, height: 30))
        btnStop   = UIButton(frame: CGRect(x: 175, y: 300, width: 60, height: 30))
        
        // set ảnh mặc định cho hình ảnh // name chính là tên của ảnh
        imageview.image = UIImage(named: "thoi-gian")
        // add nó lên giao diện màn hình
        
        self.view.addSubview(imageview)
        self.view.addSubview(btnStart)
        self.view.addSubview(btnStop)
        
        // tạo sự kiện cho nút button
        btnStart.addTarget(self, action: "starttimer", forControlEvents: UIControlEvents.TouchDragInside)
        btnStop.addTarget(self, action: "stoptimer", forControlEvents: UIControlEvents.TouchDragInside)
        
    }

 
                               


khi click vào button start thì nó sẽ gọi đến hàm "starttimer" 
khi click vào button stop thì nó sẽ gọi đến hàm "stoptimer" 

trong hàm này chúng ta sẽ khởi tạo bộ đếm và cho bắt đầu đếm ngược

 func starttimer(){
        dem = 0
        // khởi tạo timer và repeat mỗi giây 1 lần gọi hàm updatetine
        timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "updatetine", userInfo: nil, repeats: true)
        
    }
    
    func stoptimer(){
        timer.invalidate()
        dem = 0
    }
    
    func updatetine(){
        dem = dem + 1
    
        // thay đổi giá trị ảnh
        imageview.image = UIImage(named: String(dem))
        
        if(dem == 31){
            dem = 0
        }
    }


// tạo title cho buttton

 btnStart.setTitle("Start", forState: UIControlState.Normal)
        btnStart.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
        btnStop.setTitle("Stop", forState: UIControlState.Normal)
        btnStop.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)

sau đó build project  xem kq

                                                      


cởm ơn!



Comments

Popular posts from this blog

Tranquil Tunes: Soothing Piano & Guitar Music for Study, Work, Relaxation & Meditation

Resize - Rotate - Move View or image view in swift

NSTimer - Tạo ứng dụng đếm thời gian swift-ios