ZHYCalendar 0.0.2

ZHYCalendar 0.0.2

zhaohongya 维护。



  • zhaohongya


说明:

一个简洁的 日历小工具,可以进行 单个日期选择日期区间选择
时间区间逻辑开始日期 不得大于 结束日期结束日期 不得小于 开始日期

添加方法

pod 'ZHYCalendar'

使用方法

  1. 添加头文件和代理 <CalendarViewDelegate>
#import "CalendarView.h"
  1. 直接添加 CalendarView
@property (nonatomic,retain) CalendarView *calenderView; // 日历view

#pragma mark 日历view懒加载
- (CalendarView *)calenderView {
    if (!_calenderView) {
        _calenderView = [[CalendarView alloc] init];
        _calenderView.frame = CGRectMake(0, HEIGHT, WIDTH, 350);
        _calenderView.delegate = self; // 设置日历代理
    }
    return _calenderView;
}

[self.view addSubview:self.calenderView];
  1. 调取日历

有时间区间调取方法

// 点击调取日历
- (IBAction)buttonClick:(UIButton *)sender {
    
    // 对日历中的各种的状态进行处理
    if ([sender.titleLabel.text isEqualToString:@"日期开始"]) {
        [self.calenderView updateCalendarViewWithDateStyleEnum:EarlestDateStyleEnum];
    } else if ([sender.titleLabel.text isEqualToString:@"日期结束"]) {
        [self.calenderView updateCalendarViewWithDateStyleEnum:LatestDateStyleEnum];
    }
    
    // 日历显示动画
    [UIView animateWithDuration:0.2 animations:^{
        self.calenderView.frame = CGRectMake(0, HEIGHT-350, WIDTH, 350);
    }];
}

没有时间区间调取方法

// 点击调取日历
- (IBAction)buttonClick:(UIButton *)sender {
    // 日历显示动画
    [UIView animateWithDuration:0.2 animations:^{
        self.calenderView.frame = CGRectMake(0, HEIGHT-350, WIDTH, 350);
    }];
}
  1. 代理方法实现

有无时间区间都会调用此代理,无区间默认返回起始时间

// 返回时间代理方法
- (void)calendarViewDelegateEnsureDate:(NSString *)ensureDate withDateStyle:(DateStyleEnum)style {
    
    NSLog(@"ensureDate **** %@",ensureDate);
    
    if (style == EarlestDateStyleEnum) { // 返回起始时间

    } else if (style == LatestDateStyleEnum) { // 返回结束时间

    } else if (style == CancelDateStyleEnum) { // 点击取消方法
    }
    
    [UIView animateWithDuration:0.2 animations:^{
        self.calenderView.frame = CGRectMake(0, HEIGHT, WIDTH, 350);
    }];
}

具体使用可详见demo