prettyprint

2015年10月18日 星期日

DatePicker Demo


日期與時間的設定常被用到。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();