I suggest you use this link: https://github.com/bendodson/MonthYearPickerView-Swift
It saves my time checking the correct dates of the months.
let expiryDatePicker = MonthYearPickerView() private func pickADate() { self.invitationTypeTemp = self.expiredDetailOutlet.text ?? "unknown error" //FORMAT DATE // expiryDatePicker.datePickerMode = .date expiryDatePicker.backgroundColor = UIColor.white expiryDatePicker.setValue(UIColor.black, forKey: "textColor") expiryDatePicker.autoresizingMask = .flexibleWidth expiryDatePicker.contentMode = .center expiryDatePicker.frame = CGRect.init(x: 0.0, y: UIScreen.main.bounds.size.height - 300, width: UIScreen.main.bounds.size.width, height: 300) self.view.addSubview(expiryDatePicker) toolBar = UIToolbar.init(frame: CGRect.init(x: 0.0, y: UIScreen.main.bounds.size.height - 300, width: UIScreen.main.bounds.size.width, height: 50)) toolBar.barStyle = .default toolBar.isTranslucent = true let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(onDoneButtonTappedDateExpired)) let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil) let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.plain, target: self, action: #selector(onCancelButtonTappedDateExpired)) toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false) toolBar.isUserInteractionEnabled = true self.view.addSubview(toolBar) //DISABLE RIGHT ITEM & LEFT ITEM // disableCancelAndSaveItems() //DISABLED SELECTION FOR ALL CELLS // ableToSelectCellsAndButtons(isAble: false) //DISABLE RIGHT ITEM & LEFT ITEM isEnableCancelAndSaveItems(isEnabled: false) //SHOW GREY BACK GROUND showGreyOutView(isShow: true) expiryDatePicker.onDateSelected = { (month: Int, year: Int) in let string = String(format: "%02d/%d", month, year) self.expiredDetailOutlet.text = string NSLog(string) // should show something like 05/2015 } }
source share