Simple to use month & year picker view for those pesky Credit Card expiration dates & Co.
Drag the contents of
LTHMonthYearPickerView to your project, or add
pod 'LTHMonthYearPickerView' to your podspec file.
/** * Month / Year picker view, for those pesky Credit Card expiration dates and alike. * * @param date set to a date if you want the picker to be initialized with a specific month and year, otherwise it is initialized with the current month and year. * @param shortMonths set to YES if you want months to be returned as Jan, Feb, etc, set to NO if you want months to be returned as January, February, etc. * @param numberedMonths set to YES if you want months to be returned as 01, 02, etc. This takes precedence over shortMonths if set to YES. * @param showToolbar set to YES if you want the picker to have a Cancel/Done toolbar. * * @return a container view which contains the UIPicker and toolbar */ _monthYearPicker = [[LTHMonthYearPickerView alloc] initWithDate: [NSDate date] shortMonths: NO numberedMonths: NO andToolbar: YES]; _monthYearPicker.delegate = self;
Comes with several delegate methods:
- (void)pickerDidSelectRow:(NSInteger)row inComponent:(NSInteger)component; - (void)pickerDidSelectMonth:(NSString *)month; - (void)pickerDidSelectYear:(NSString *)year; - (void)pickerDidSelectMonth:(NSString *)month andYear:(NSString *)year; - (void)pickerDidPressDoneWithMonth:(NSString *)month andYear:(NSString *)year; - (void)pickerDidPressCancel; - (void)pickerDidPressCancelWithInitialValues:(NSDictionary *)initialValues; // Or corresponding notifications; if you prefer it like that, just uncomment the notification posts.
Everything is easily customizable with macros and constants, from month & year fonts and colors (individually) to the month names, if you need them in another language (control was created long ago and I didn't really think of proper localization).
If you're using this control, I'd love hearing from you!
Licensed under MIT. If you'd like (or need) a license without attribution, don't hesitate to contact me.