데이트 피커뷰와 alert이용해서 간단한 알람시계 구현
import UIKit
class ViewController: UIViewController {
//알람끄기
var alarm: Bool = true
var count = 0
//updateTime함수 할당
let timeSelector: Selector = #selector(ViewController.updateTime)
//현재시간, 선택된 시간
@IBOutlet weak var curentTime: UILabel!
@IBOutlet weak var selectTime: UILabel!
//화면이 호출될때 실행
override func viewDidLoad() {
super.viewDidLoad()
//1초에 한번씩 timeSelector 함수를 호출
Timer.scheduledTimer(timeInterval: 1, target: self, selector: timeSelector, userInfo: nil, repeats: true)
}
//데이터 피커가 선택되었을때 실행
@IBAction func datePicker(_ sender: UIDatePicker) {
//데이터피커뷰 할당
let datePickerView = sender
//포멧설정
let selFormatter = DateFormatter()
selFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"
//라벨에 할당
selectTime.text = selFormatter.string(from: datePickerView.date)
//알람켜기
alarm = true
}
//1초마다 호출되는 현재시간 부분
@objc func updateTime(){
let date = NSDate()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"
curentTime.text = formatter.string(from: date as Date)
if curentTime.text == selectTime.text{
if alarm {
callAlert()
}
}
}
func callAlert(){
let alert = UIAlertController(title:"알림",message:"시간됐어요", preferredStyle:UIAlertControllerStyle.alert)
let action = UIAlertAction(title:"끄기",style:UIAlertActionStyle.default, handler:{
//알람끄기
ACTION in self.alarm = false
//self.alarm = false
})
alert.addAction(action)
present(alert,animated: true, completion: nil)
}
}
'ios 뽀개기 > ios 응용해보기' 카테고리의 다른 글
맵뷰 map view (0) | 2017.12.14 |
---|---|
웹뷰 webview (0) | 2017.12.14 |
두개의 피커 뷰 이용하기 (0) | 2017.12.13 |
데이트 픽커뷰 이용해서 알람시계 구현 (0) | 2017.12.13 |
유동적인 테이블뷰 2 (0) | 2017.12.13 |
댓글