★ UIDatePickerを生成する
var datePicker = UIDatePicker()
var datePicker: UIDatePicker = UIDatePicker()
// サイズを指定して生成
var datePicker = UIDatePicker(frame: CGRectMake(0, 50, 320, 216))
★ 表示スタイルを設定する
datePicker.datePickerMode = UIDatePickerMode.DateAndTime
datePicker.datePickerMode = .Date
★ UIDatePickerMode
public enum UIDatePickerMode : Int {
case Time // 時分
case Date // 年月日
case DateAndTime // 月日時分
case CountDownTimer // カウントダウンタイマー
}
★ 選択可能な最小の日時を設定する
// 1日前を指定
datePicker.minimumDate = NSDate(timeIntervalSinceNow: 60 * 60 * -24)
★ 選択可能な最大の日時を設定する
// 7日後を指定
datePicker.maximumDate = NSDate(timeIntervalSinceNow: 60 * 60 * 24 * 7)
★ Viewにピッカーを追加する
self.view.addSubview(datePicker)
★ ピッカーをViewから取り除く
datePicker.removeFromSuperview()
★ AlertControllerにDatePickerを入れる
import UIKit
class ViewController: UIViewController {
var datePicker: UIDatePicker = UIDatePicker()
var Todays: DateFormatter = DateFormatter()
@IBOutlet weak var upTimeLabel: UILabel!
@IBAction func showPickerAlert(_ sender: UIButton) {
let title = "起床時間を設定"
let message = "\n\n\n\n\n\n\n\n\n\n\n"
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler:{
(action: UIAlertAction!) -> Void in
//初期設定で表示される日時の形式
self.Todays.dateFormat = "yyyy/MM/dd hh:mm"
//取り出すピッカーに表示されている文字列
let SetPickerData = self.Todays.string(from: self.datePicker.date)
self.upTimeLabel.text = SetPickerData
})
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { action in
print("Cancel")
}
datePicker.frame.origin.y = 30
datePicker.frame.size.width = 270
alert.view.addSubview(datePicker)
alert.addAction(okAction)
alert.addAction(cancelAction)
present(alert, animated: true, completion: nil)
}
}