UIKit # 29:import UIKit D2PDatePickerDelegate didChange toDate date Date D2PDatePicker # 35:public class D2PDatePicker: UIView { UIView delegate D2PDatePickerDelegate IBOutlet topView UIView IBOutlet middleView UIView IBOutlet bottomView UIView IBOutlet dayNextBtn UIButton IBOutlet dayPrevBtn UIButton IBOutlet monthNextBtn UIButton IBOutlet monthPrevBtn UIButton IBOutlet yearNextBtn UIButton IBOutlet yearPrevBtn UIButton IBOutlet dayView DayView IBOutlet monthView MonthView IBOutlet yearView YearView selectedDate # 57: private var selectedDate:Date! = Date() { Date Date delegate didChange toDate selectedDate coder # 64: required public init?(coder aDecoder NSCoder coder aDecoder fromNib frame # 71: override init(frame: CGRect) { CGRect frame CGRect fromNib frame # 76: public convenience init(frame: CGRect date Date frame frame selectedDate date awakeFromNib mainColor # 84: public var mainColor: UIColor! = UIColor UIColor red green blue alpha topView backgroundColor mainColor dayView weekDayLabel textColor mainColor awakeFromNib # 98: override public func awakeFromNib() { awakeFromNib topView layer cornerRadius topView clipsToBounds middleView layer borderColor UIColor groupTableViewBackground cgColor middleView layer borderWidth bottomView layer cornerRadius bottomView layer borderColor UIColor groupTableViewBackground cgColor bottomView layer borderWidth monthPrevBtn tag monthPrevBtn addTarget action selector changeDate touchUpInside monthNextBtn tag monthNextBtn addTarget action selector changeDate touchUpInside dayPrevBtn tag dayPrevBtn addTarget action selector changeDate touchUpInside dayNextBtn tag dayNextBtn addTarget action selector changeDate touchUpInside yearPrevBtn tag yearPrevBtn addTarget action selector changeDate touchUpInside yearNextBtn tag yearNextBtn addTarget action selector changeDate touchUpInside setLabel toDate selectedDate toDate # 142: public func set(toDate date Date setLabel toDate date selectedDate date setLabel # 147: private func setLabel(toDate toDate date Date formatter DateFormatter formatter dateFormat monthView monthLabel text formatter string from date formatter dateFormat dayView dayLabel text formatter string from date formatter dateFormat dayView weekDayLabel text formatter string from date formatter dateFormat yearView yearLabel text formatter string from date objc # 165: @objc private func changeDate(btn: changeDate btn UIButton btn tag selectedDate monthView anim direction backward date selectedDate dayView anim direction identity date selectedDate yearView anim direction identity date selectedDate btn tag selectedDate monthView anim direction forward date selectedDate dayView anim direction identity date selectedDate yearView anim direction identity date selectedDate btn tag selectedDate dayView anim direction backward date selectedDate monthView anim direction identity date selectedDate yearView anim direction identity date selectedDate btn tag selectedDate dayView anim direction forward date selectedDate monthView anim direction identity date selectedDate yearView anim direction identity date selectedDate btn tag selectedDate yearView anim direction backward date selectedDate dayView anim direction identity date selectedDate monthView anim direction identity date selectedDate btn tag selectedDate yearView anim direction forward date selectedDate dayView anim direction identity date selectedDate monthView anim direction identity date selectedDate Int class