Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active December 11, 2016 01:21
Show Gist options
  • Save KentarouKanno/00fdfeeb62b0f486625a to your computer and use it in GitHub Desktop.
Save KentarouKanno/00fdfeeb62b0f486625a to your computer and use it in GitHub Desktop.
UIDatePicker

UIDatePicker

★ 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)
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment