2016-08-30 16 views
2

私は日付ピッカーのための別のクラスを作成しました。すぐにDatePickerから日付/時刻を取得する

let timePickerViewController = MYDatePickerViewController() 
presentViewController(timePickerViewController, animated: true, completion: nil) 

として私は別のViewControllerから提示しています

import UIKit 

protocol MYDatePickerViewControllerDelegate { 
    func didFinishSelectingDate(selectedDate:NSDate) 
} 

class MYDatePickerViewController: UIViewController { 

    @IBOutlet weak var containerView: UIView! 
    @IBOutlet weak var datePicker: UIDatePicker! 
    @IBOutlet weak var navigationBar: UINavigationBar! 

    var datePickerDelegate : MYDatePickerViewControllerDelegate? 
    var customTransitioningDelegate: MYFadeInFadeOutTransitioning? = MYFadeInFadeOutTransitioning() 

    init(){ 
     super.init(nibName: "MyDatePickerViewController", bundle: NSBundle.mainBundle()) 

     transitioningDelegate = customTransitioningDelegate 
     modalPresentationStyle = .Custom 
    } 
    convenience init(withSelectedDate date: NSDate) { 
     self.init() 

    } 
    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 
    deinit { 
     customTransitioningDelegate = nil 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     setupViewControllerUI() 
    } 

    func setupViewControllerUI() { 
     containerView.tag = kContainerViewTag 

    } 

    @IBAction func doneButtonTapped(sender: AnyObject) { 
     datePickerDelegate?.didFinishSelectingDate(self.datePicker.date) 
     print(self.datePicker.date) 
     dismissViewControllerAnimated(true, completion: nil) 
    } 
    @IBAction func cancelButtonTapped(sender: AnyObject) { 
     dismissViewControllerAnimated(true, completion: nil) 
    } 
} 

今、私が選択した日付を取得しようとしています

enter image description here

を以下のように、画面の下から存在しユーザーがdatePickerの終了ボタンをタップしたとき。そのために私はデリゲートを作成しようとしており、そこから日付を取得しています。しかしできなかった。 私は私のviewDidLoad

let datePicker = YASDatePickerViewController() 
    datePicker.datePickerDelegate = self 

、その後

func didFinishSelectingDate(selectedDate: NSDate) { 
    print(selectedDate) 
} 

として私の他のViewControllerにMYDatePickerViewControllerのデリゲートをimplemnetedしている。しかし、私は日付を取得していない午前、私を導いてください。

let timePickerViewController = MYDatePickerViewController() 
timePickerViewController.datePickerDelegate = self 
presentViewController(timePickerViewController, animated: true, completion: nil) 

のとでは、あなたのプロトコルに準拠してのViewControllerを::

答えて

1

と異なるのViewControllerから提示しながら、これを試してみてください

class ViewController: UIViewController, MYDatePickerViewControllerDelegate { 

残りは正常に見えます!

+0

私はこの行が欠けていたtimePickerViewController.datePickerDelegate = self ありがとうございました。 – Byte

関連する問題