본문 바로가기
Study/Apple Swift

[SWIFT] Date Picker

by Answer Choi 2016. 2. 2.
반응형


폰에서 특정 날짜와 시간등을 선택해야 할 경우가 있습니다.


스케줄을 작성한다거나 알람을 울린다거나 할 경우.


아이폰에서는 Date Picker라는 뷰가 있습니다.



속성을 보시면 총 4가지 종류의 Date Picker를 만드실 수 있습니다.


Time Picker


Date Picker


Date Time Picker

Count Down Timer


바로 요렇게 생겼습니다.


초 단위까지는 지원하지 않는것 같습니다.


이 Picker들에 특정 시간을 설정하거나 설정되어 있는 시간을 가져 올 수 있습니다.


1. 시간 가져오기 


1
2
3
4
let dateform = NSDateFormatter()
dateform.dateFormat = "yyyy-MM-dd HH:mm:ss"
let strDate = dateform.stringFromDate(datepicker.date)
date_label.text = strDate
cs


Line 1~2 : dateformat 상수를 선언한 후 포맷 양식을 정해줍니다.


Line 3 : Picker로 부터 날짜를 가져와 위에서 설정한 양식의 String 타입으로 변환해 줍니다.


Line 4 : 화면에 출력합니다. date_label은 label view 입니다.


만약 Picker를 돌려서 시간이 바뀔때마다 label view에 업데이트 되게 하려면 


Value changed 이벤트를 등록하면 됩니다.


1
2
3
4
5
6
@IBAction func changedate(sender: AnyObject) {
    let dateform = NSDateFormatter()
    dateform.dateFormat = "yyyy-MM-dd HH:mm:ss"
    let strDate = dateform.stringFromDate(datepicker.date)
    date_label.text = strDate
}
cs


버튼이벤트 안에 넣어서 자동으로 날짜가 변경될때마다 label이 업데이트 됩니다.


2. 시간 설정하기


설정창에 보면 view가 만들어질대 현재 시간으로 만들지, 특정시간으로 만들지 선택이 가능합니다.


속성을 이용하시면 view가 생성될때 초기 값은 쉽게 설정하실 수 있습니다.


만약 코드로 설정하시려면 아래와 같이 하시면 됩니다.


1
2
3
4
5
6
7
let datestr="2016-02-02 12:30:00"
let dateform=NSDateFormatter()
dateform.dateFormat="yyyy-MM-dd HH:mm:ss"
let datetime=dateform.dateFromString(datestr)
if let unwrappedDate=datetime{
    datepicker.setDate(unwrappedDate, animated: true)
}
cs


Line 1 : 임의의 날짜를 선언했습니다.


Line 2~3 : 날짜상수를 선언한후 원하는 포맷을 정해줍니다.


Line 4 : 위에서 선언한 날짜를 원하는 양식의 date타입으로 변환해 줍니다.


Line 5~7 : date를 Picker에 적용합니다.



반응형

'Study > Apple Swift' 카테고리의 다른 글

[SWIFT] Table View 1(리스트 뷰)  (0) 2016.02.03
[SWIFT] Button Text  (0) 2016.02.02
[SWIFT] 현재시간 구하기  (0) 2016.01.26
[SWIFT] Floating 연산 오류(?)  (0) 2016.01.22
[SWIFT] 네트워크 연결되어 있는지 확인하기  (0) 2016.01.21

인기글