此份筆記僅注重於日期的部分,UIDatePicker還有包含時間的部分。
UIDatePicker的建立可以使用Storyboard產生,讓物件與ViewController做連結即可,如下所示。
【片段程式碼】
myDatePicker.datePickerMode = .Date
DatePickerMode有四種列舉型別可以選擇:Time、Date、DateAndTime、CountDownTimer。Time |
Date |
DateAndTime |
CountDownTimer |
@IBAction func valueChanged(sender: UIDatePicker) {
}
當使用Storyboard建立value改變時觸發的func後就會自動產生這段程式碼。
var currentDate: NSDate = myDatePicker.date
建立一個資料型態為NSDate的變數,存放DatePicker的時間。
var dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .FullStyle
var showDateString: String = dateFormatter.stringFromDate(currentDate)
若我們欲將使用者選擇的日期顯示在UILabel上則可以用NSDateFormatter將時間轉換成String,首先建立一個名為dataFormatter的變數,其資料型態為NSDateFormatter,並設定dateStyle,dateStyle有五種可以選擇:NoStyle、ShortStyle、MediumStyle、LongStyle、FullStyle,最後用String的變數將轉換後的字串儲存起來。ShortStyle |
MediumStyle |
LongStyle |
FullStyle |
【完整的程式範例】
//
// ViewController.swift
// UIDatePicker
//
// Created by Hsu,Yi-Sheng on 2014/6/26.
// Copyright (c) 2014年 yisheng. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet var myLabel: UILabel
@IBOutlet var myDatePicker: UIDatePicker
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
myDatePicker.datePickerMode = .Date
}
@IBAction func valueChanged(sender: UIDatePicker) {
var currentDate: NSDate = myDatePicker.date
var dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .FullStyle
var showDateString: String = dateFormatter.stringFromDate(currentDate)
myLabel.text = showDateString
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
沒有留言:
張貼留言