自定义了一个日期选择器,与大家分享一下,期待宝贵建议。
github下载地址:https://github.com/XHJCoder/XHDatePicker
下面只是说明一下怎么用,具体实现请下载代码看看;
如果大家觉得这个分享有所帮助的话,麻烦给个Star✨,谢谢!😊
.h文件解析
- 生成对象并展示
/**
@param completeBlock 时间选择好之后的回调,返回选择的时间和时间的String值
*/
+ (instancetype)showWithCompleteBlock:(void(^)(NSDate *date, NSString *dateString))completeBlock;
- 选择日期选择器样式
typedef enum {
XHDatePickerModeYearMonthDayHourMinute = 0, // 年月日时分
XHDatePickerModeMonthDayHourMinute, // 月日时分
XHDatePickerModeYearMonthDay, // 年月日
XHDatePickerModeYearMonth, // 年月
XHDatePickerModeMonthDay, // 月日
XHDatePickerModeHourMinute // 时分
} XHDatePickerMode;
// default is XHDatePickerModeYearMonthDayHourMinute
@property (nonatomic, assign) XHDatePickerMode datePickerMode;
- 设置最大最小时间限制
@property (nonatomic, strong) NSDate *minimumDate; // 限制最大时间(default is nil)
@property (nonatomic, strong) NSDate *maximumDate; // 限制最小时间(default is nil)
- 设置当前显示时间
// 当前显示时间(default is [NSDate date])
@property (nonatomic, strong) NSDate *date;
- 设置主题色
@property (nonatomic, strong) UIColor *themeColor;
- 设置时间格式(体现在block回调里的dateString上)
/**
* 默认与datePickerMode相对应
* 比如:XHDatePickerModeYearMonthDayHourMinute对应的dateFormatter是:@"yyyy-MM-dd HH:mm"
* 你也可以设置格式为 yyyy年MM月dd日HH时mm分
*/
@property (nonatomic, copy) NSString *dateFormatter;
具体使用代码
XHDatePicker *datePicker = [XHDatePicker showWithCompleteBlock:^(NSDate *date, NSString *dateString) {
NSLog(@"%@ , %@",date, dateString);
}];
datePicker.date = [NSDate date:@"2018-05-13 22:55" WithFormat:@"yyyy-MM-dd HH:mm"];
datePicker.minimumDate = [NSDate date:@"2015-01-14 12:14" WithFormat:@"yyyy-MM-dd HH:mm"];
datePicker.maximumDate = [NSDate date:@"2022-11-23 07:55" WithFormat:@"yyyy-MM-dd HH:mm"];
datePicker.themeColor = [UIColor redColor];
datePicker.dateFormatter = @"yyyy年MM月dd日 HH:mm";
datePicker.datePickerMode = XHDatePickerModeYearMonthDayHourMinute;