自定义日期选择控件HTPopDateView的设计
首先看完成的效果图

从上图中可以看出控件的基本组成:日期显示区域、三角形指示和弹出的日期选择对话框
控件功能:拨动日期选择的轮盘,时期变化时即时反应到日期显示区域。
一、对外公开的属性
title用于设置和取得当前的日期
@property (nonatomic, retain)NSString *title;
backgroudView设置选择日期对话框所在的背景
@property (nonatomic, retain)UIView *backgroudView;
二、控件的构成
根据功能描述HTPopDateView有如下几部分组成
@implementation HTPopDateView{
UIColor *_menuColor;
UIView *_backGroundView;
UIDatePicker *_datePicker;
CATextLayer *_titleLayer;
ArrowLayer *_arrowLayer;
bool _show;
}
三、操作行为
单击显示日期区域弹出,日期选择对话框
- (void)tapPopView:(UITapGestureRecognizer *)paramSender
{
[self animateIdicator:_backGroundView view:_workspaceView forward:YES complecte:^{
_show = YES;
}];
}
单击背景,选择日期对话框消失
- (void)tapBackGround:(UITapGestureRecognizer *)paramSender
{
[self animateIdicator:_backGroundView view:_workspaceView forward:NO complecte:^{
_show = NO;
}];
}
日期变化后反应到显示区域
- (void)dateChanged:(id)sender{
_title = [self dateToString:_datePicker.date];
_titleLayer.string = _title;
}
四、总结
明确了以上几点后,我们就可以着手开始进行细节的开发了。