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)
}
}
사용자가 datePicker에서 완료 버튼을 탭하면 그것을 위해 나는 대표자를 만들고 거기에서 날짜를 선택하려고 노력하고있다. 그러나 할 수 없었다. 나는 내 viewDidLoad에
let datePicker = YASDatePickerViewController()
datePicker.datePickerDelegate = self
에
나의 기타의 ViewController에 MYDatePickerViewController의 대리자를 implemneted 다음func didFinishSelectingDate(selectedDate: NSDate) {
print(selectedDate)
}
하지만 날짜를 받고 있지 않다, 나를 인도 해주십시오했다.
let timePickerViewController = MYDatePickerViewController()
timePickerViewController.datePickerDelegate = self
presentViewController(timePickerViewController, animated: true, completion: nil)
을 그리고 당신의 프로토콜의 ViewController를 준수 :
이 선이 누락되었습니다. timePickerViewController.datePickerDelegate = self 정말 고마워요. – Byte