『iOS开发』 —— 时间选择器控件HCDatePicker的实现

文章首发地址见个人博客

时间选择器控件HCDatePicker的实现

项目地址

说明

HCDatePicker是一个高度自定义的时间选择器控件,可实现单选日期和区间选择,支持自定义可选区间,支持两种显示周的方式(第一天为周一/第一天为周日)。项目中HCDatePickerController主要实现显示逻辑和点选逻辑,在HCDatePickerManager中实现数据的生成。

预览图

自定义

/*
 *      datePicker的时间范围的开始时间(毫秒)
 *      若未设置,默认为2000-01-01-00:00:00:0000
 */
@property (nonatomic, strong) NSNumber *startDateInterval;

/*
 *      datePicker的时间范围的结束时间(毫秒)
 *      若未设置,默认为当前日期所在月份最后一天的00:00:00:000
 */
@property (nonatomic, strong) NSNumber *endDateInerval;

/*
 *      HCDatePickerSelectionTypeSingle     ---     单日选择
 *      HCDatePickerSelectionTypeMulti      ---     区间选择
 *      HCDatePickerSelectionTypeBoth       ---     单日&区间
 *
 *      NOTE:单日选择模式下,返回的日期为选择日期当日的00:00
 *           区间选择模式下,返回的日期为起始日期的00:00 到 截止日期的00:00
 */
@property (nonatomic, assign) HCDatePickerSelectionType selectionType;

/*
 *      是否可选中当前日期之后的日期
 */
@property (nonatomic, assign) BOOL canSelectDateAfterToday;

/*
 *      选中开始时间和结束时间的颜色样式【默认为RGBA(22, 101, 216, 1)】
 */
@property (nonatomic, strong) UIColor *startAndEndDateColor;

/*
 *      选中开始时间和截止时间之间的颜色样式【默认为RGBA(185, 208, 243, 1)】
 */
@property (nonatomic, strong) UIColor *middleDateColor;

/*
 *      YES     ---     一周的第一天是周一
 *      NO      ---     一周的第一天是周日
 */
@property (nonatomic, assign) BOOL firstDayOfWeekIsMonday;

TODO

  • 选中状态颜色可配置
  • 顶部文字提示随系统语言变换
  • 下拉选择年份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值