日期與時間的設定常被用到。Apple 以類似賭場拉霸的滾筒式方式來設定日期與時間。在設定日期與時間前,我們要先決定好:
1. 模式 Mode: 是只設定日期或時間,或是兩者都要?
2. 時區 Locale: 這日期時間的時區是台北時間?還是其他地方的時區?
3. 滾筒的可選的日期/時間間隔 Interval
4. 最後日期 / 時間該如何呈現?
1. 新增專案
2. 拖曳一個 DatePicker 元件
3. 此時,Apple 已幫我們設定好 Default 值
4. 將 UI 中的 DataPiker 元件與 Code 連結
5. 為顯示設定日期/時間結果,新增 Label
6. 連結後的 Code
7. 新增當 DataPicker 的設定更改時,被啟發的事件 event
8. 設定此事件 event 為 dateUpdate
9. 完整程式
//
// ViewController.swift
// DatePickerDemo
//
// Created by Elvis Meng on 2015/10/18.
// Copyright © 2015年 Elvis Meng. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var dateFormatter = NSDateFormatter()
@IBOutlet weak var datePicker: UIDatePicker!
@IBOutlet weak var showDatePicker: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
datePicker.datePickerMode = UIDatePickerMode.DateAndTime
datePicker.locale = NSLocale(localeIdentifier: "zh_TW")
datePicker.date = NSDate()
dateFormatter.dateFormat = "西元 y 年 M 月 d 日 hh 點 mm 分 ss 秒"
showDatePicker.text = dateFormatter.stringFromDate(datePicker.date)
}
@IBAction func dateUpdate(sender: UIDatePicker) {
showDatePicker.text = dateFormatter.stringFromDate(datePicker.date)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
10. 測試
後記
日期 / 時間呈現時,顯示格式的設定很重要。例如:在這 demo 中以 var dateFormatter = NSDateFormatter() 宣告一個 dataFormatter 變數,而以 dateFormatter.dateFormat = "西元 y 年 M 月 d 日 hh 點 mm 分 ss 秒" 來設定。這裡更改 DatePicker 日期 / 時間並不會顯示,程式要另外修改屬性。
參考:
1. Date Picker, https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/DatePicker.html
2. NSDate, https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/
3. DatePicker, https://developer.apple.com/library/prerelease/mac/samplecode/DatePicker/Introduction/Intro.html
4. NSDateFormatter, https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/
prettyprint
2015年10月18日 星期日
DatePicker Demo
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言