0

我使用这个日历https://github.com/TjeerdVurig/Vurig-Calendar

我如何选择两个日期并在选择这两个日期后执行操作并使这两个日期之间的所有日期都被选中突出显示为蓝色

作为示例,我选择 1 - 1/3/2013 2 - 5/3/2013

在我点击两个日期后,它会用蓝色突出显示 {1,2,3,4,5}/3/2013 之间的所有日期,然后执行操作

4

1 回答 1

0
    id markedDateObj1 = [self.markedDates objectAtIndex:1];
    NSDate *date1 = (NSDate *)markedDateObj1;
    id markedDateObj0 = [self.markedDates objectAtIndex:0];
    NSDate *date0 = (NSDate *)markedDateObj0;
    if ([date0 day]-1 && i==[date0 day]-1) {
        CGRect rectangleGrid = CGRectMake(targetX,targetY,kVRGCalendarViewDayWidth+2,kVRGCalendarViewDayHeight+2);
        CGContextAddRect(context, rectangleGrid);
        CGContextSetFillColorWithColor(context, [UIColor colorWithHexString:@"0x006dbc"].CGColor);
        CGContextFillPath(context);

        CGContextSetFillColorWithColor(context,
                                       [UIColor whiteColor].CGColor);
    }
    if ([date1 day]-1 && i==[date1 day]-1) {
        CGRect rectangleGrid = CGRectMake(targetX,targetY,kVRGCalendarViewDayWidth+2,kVRGCalendarViewDayHeight+2);
        CGContextAddRect(context, rectangleGrid);
        CGContextSetFillColorWithColor(context, [UIColor colorWithHexString:@"0x006dbc"].CGColor);
        CGContextFillPath(context);

        CGContextSetFillColorWithColor(context,
                                       [UIColor whiteColor].CGColor);
    }
    for (int ai=[date0 day]; ai<[date1 day]-1; ai++) {

        if (ai && i==ai) {
            CGRect rectangleGrid = CGRectMake(targetX,targetY,kVRGCalendarViewDayWidth+2,kVRGCalendarViewDayHeight+2);
            CGContextAddRect(context, rectangleGrid);
            CGContextSetFillColorWithColor(context, [UIColor colorWithHexString:@"0x0095FF"].CGColor);
            CGContextFillPath(context);

            CGContextSetFillColorWithColor(context,
                                           [UIColor whiteColor].CGColor);
        }
    }
于 2013-07-22T09:49:19.293 回答