25.VRGCalendar一款支持标记自定义日期的日历选择器

本文介绍了一个iOS应用中实现的日历视图交互逻辑,包括如何处理用户选择日期的操作及进行日期比较的方法。此外,还展示了如何在切换月份时进行相应处理。
详情参见life365

#pragma mark - calendar Delegate

- (void)calendarView:(VRGCalendarView *)calendarView dateSelected:(NSDate *)date

{

    NSDate * today = [NSDate date];

    //如果选择的时间跟明天一样

    if ([today compare:date] == NSOrderedAscending) {

        [CustomTools getMessageTitle:@"温馨提示:" withMessage:@"别闹了,要穿越吗?"];

    }else{

        

        rightButton1.hidden = NO;

        rightButton2.hidden = NO;

        _imageView.image = [UIImage imageNamed:@"rowdown"];

        [self hiddenCalendarView];

        

        //日期比较

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        [dateFormatter setDateFormat:@"yyyy-MM-dd"];

        NSString *todayDayStr = [dateFormatter stringFromDate:today];

        NSString *anotherDayStr = [dateFormatter stringFromDate:date];

        NSDate *dateA = [dateFormatter dateFromString:todayDayStr];

        NSDate *dateB = [dateFormatter dateFromString:anotherDayStr];

        NSComparisonResult result = [dateA compare:dateB];

        

        if (result == NSOrderedSame) {

            [self navTitle:@"今天"];

            [self pushToPlayBack:todayDayStr andTimeTitle:@"今天"];

        }else{

            [self navTitle:[self dateToString:date]];

            [self pushToPlayBack:anotherDayStr andTimeTitle:[selfdateToString:date]];

        }

    }

}


- (void)calendarView:(VRGCalendarView *)calendarView switchedToMonth:(int)month targetHeight:(float)targetHeight animated:(BOOL)animated

{

    //划线 获取当前月份

    //    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

    //    NSDateComponents *comps = [[NSDateComponents alloc] init];

    //    NSInteger unitFlags = NSYearCalendarUnit |NSMonthCalendarUnit |NSDayCalendarUnit |NSWeekdayCalendarUnit |NSHourCalendarUnit |NSMinuteCalendarUnit |NSSecondCalendarUnit;

    //    comps = [calendar components:unitFlags fromDate:[NSDate date]];

    //    int currentmonth = [comps month];

    //

    //    if (month==currentmonth) {

    //        NSArray *dates = [NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:5], nil];

    //        [calendarView markDates:dates];

    //    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值