您的位置:首页 > 其它

时间选择器的封装

2016-05-05 19:00 204 查看

效果图一



效果图二



上代码

typedef NS_ENUM (NSInteger,SelectedDateFormatter){
/**年月日*/
SelectedDateFormatterDefalut,
/**年月日 小时*/
SelectedDateFormatter_H,
/**年月日 小时 分钟*/
SelectedDateFormatter_HM,
/**年月日  小时 分钟  秒*/
SelectedDateFormatter_HMS,
};
typedef NS_ENUM(NSInteger,SelectedDateDisplayType){
/**2016-03-18*/
SelectedDateDisplayTypeDefault,
/**2016年03月18日*/
SelectedDateDisplayTypeNormal,
};
/************************时间选择滚轮显示******************************/
typedef NS_ENUM(NSInteger,SelectingDatePickerMode){
/** 只显示时间*/
SelectingDatePickerModeTime,
/** 一般是做生日选择(年月日)*/
SelectingDatePickerModeDate,
/** 月 日 星期  确切时间*/
SelectingDatePickerModeDateAndTime,
/** 小时  分 */
SelectingDatePickerModeCountDownTimer,
};


/** 设置时间选择器当前时间*/
@property(nonatomic,retain)NSDate * SelectedDate;
@property(nonatomic,retain)id<SelectedDateDelegate>delegate;
/** 最终要得到的时间格式*/
@property(nonatomic,assign)SelectedDateFormatter SelectedFormatter;
/** 时间格式是否包括年月日汉字*/
@property(nonatomic,assign)SelectedDateDisplayType SelectedDisplayType;
/** 滚轮时间显示格式*/
@property(nonatomic,assign)SelectingDatePickerMode SelectingPickerMode;
/** 是否允许选择过去的时间 默认 YES*/
@property (nonatomic,assign) BOOL  isForward;
/** 分钟显示间隔  默认1秒*/
@property(nonatomic,assign)NSInteger SelectingMinuteInterval;


调用

- (IBAction)buttonClicked:(id)sender {

DatePickerView * picker = [[DatePickerView alloc] initWithFrame:self.view.bounds];
picker.delegate = self;
picker.SelectedFormatter = SelectedDateFormatter_HM;
picker.SelectedDisplayType = SelectedDateDisplayTypeDefault;
picker.SelectingPickerMode = SelectingDatePickerModeDate;
picker.isForward = NO;

//    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
//    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // 这里是用大写的 H
//    NSDate * selectDate = [dateFormatter dateFromString:@""];
//    picker.SelectedDate = selectDate;

[self.view addSubview:picker];

}
- (void)DatePickerView:(DatePickerView *)pickerView WithSelctedDateString:(NSString *)dateString{
self.dateDisplayLable.text = dateString;
}


使用非常简单,思路也比较清晰,能达到一般项目的要求。

代码传送门https://github.com/fuzongjian/DatePickerTool.git,顺手可以给个star以资鼓励。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: