본문 바로가기
ios 뽀개기/ios 응용해보기

데이트 픽커뷰 이용해서 알람시계 구현

by 인생여희 2017. 12. 13.
반응형

데이트 픽커뷰 이용해서 알람시계 구현

1.현재 시간이 선택시간과 같게 되면 1분동안 배경화면이 빨간색으로 변하게 만든다.

2.1분이 지나 시간이 달라지면 다시 정상적인 배경화면이 된다.


//

//  ViewController.swift

//  DatePicker2

//

//  Created by MacBookPro on 2017. 12. 12..

//  Copyright © 2017년 MacBookPro. All rights reserved.

//


import UIKit


class ViewController: UIViewController {

    

    //타이머가 구동되면 실행될 함수를 지정

    let timeSelector: Selector = #selector(ViewController.updateTime)

    

    //타이머가 구동되면 실행될 함수를 지정

    let sixSelector: Selector = #selector(ViewController.sixTime)

    

    //타이머 간격

    let interval = 1.0

    //타이머가 설정한 간격대로 잘 작동되는지 확인하기 위한 변수

    var count = 0

    

    //선택된 데이터 포멧

    let selFormatter = DateFormatter()

    

    @IBOutlet weak var lbCurrentTime: UILabel!

    @IBOutlet weak var lbSelectTime: UILabel!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        //타이머가 1초마다 구동될때 실행될 함수지정

        Timer.scheduledTimer(timeInterval: interval, target: self, selector: timeSelector, userInfo: nil, repeats: true)

        

        

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

    @IBAction func datePicker(_ sender: UIDatePicker) {

        

        //let datePickerView = sender

        

        //selFormatter = DateFormatter()

        

        selFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"

        

        lbSelectTime.text = selFormatter.string(from: sender.date)

    }

    

    //1씩 증가하는 함수 (현재시간)

    @objc func updateTime(){

        //lbCurrentTime.text = String(count)

        //count += 1

        

        let date = NSDate()

        let formatter = DateFormatter()

        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"

        lbCurrentTime.text = formatter.string(from: date as Date)

        

        

        if lbCurrentTime.text == lbSelectTime.text{

            

            Timer.scheduledTimer(timeInterval: interval, target: self, selector: sixSelector, userInfo: nil, repeats: true)

        }

    }

    

    

    @objc func sixTime(){

        count += 1

        if count < 60{

            view.backgroundColor = UIColor.purple

        }else if(count > 60) {

            view.backgroundColor = UIColor.white

        }

    }

}


반응형

댓글