如何使用Tapku Library将日活动放在特定日期?

时间:2014-03-27 09:11:34

标签: ios iphone tapku

我已使用TKCalendarDayView在特定日期显示日期事件,但问题是当我在其上放置任何事件时,它始终显示在当前日期。

所以有人帮我用Tapku Library解决这个问题吗?

感谢高级。

1 个答案:

答案 0 :(得分:1)

<强>解

还有另一种方法可以解决这个问题

如您所见,在以下方法中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title = NSLocalizedString(@"Day View", @"");


    self.data = @[
      @[@"Meeting with five random dudes", @"Five Guys", @48, @0, @50, @30],
      @[@"Unlimited bread rolls got me sprung", @"Olive Garden", @-24, @0, @-22, @0],
      @[@"Appointment", @"Dennys", @15, @0, @18, @0],
      @[@"Turkey Time...... oh wait", @"Chick-fela", @14, @0, @19, @0]];  
}

self.data已加载。

请注意,没有方法可以将事件添加到特定日期。但我们可以添加如下事件:此@[@"Meeting with five random dudes", @"Five Guys", @48, @0, @50, @30]中的@48表示后天的事件。

@[@"Unlimited bread rolls got me sprung", @"Olive Garden", @-24, @0, @-22, @0]中的@-24表示事件在今天(昨天)之前

因此,首先应使用以下代码计算特定日期之间的间隔。

- (NSArray *)getTimeFromNow:(NSDate *)startDate endDateTime:(NSDate *)endDate
{
  NSDate *todayDate = [NSDate date];
  NSTimeInterval startFromNowSeconds = [startDate timeIntervalSinceDate:todayDate];
  NSTimeInterval endFromNowSeconds = [endDate timeIntervalSinceDate:todayDate];

  NSNumber *startHour = [NSNumber numberWithInt:startFromNowSeconds / (60 * 60)];
  NSNumber *startMinute = [NSNumber numberWithInt:startFromNowSeconds / 60 - startHour.intValue * 60];

  NSNumber *endHour = [NSNumber numberWithInt:endFromNowSeconds / (60 * 60)];
  NSNumber *endMinute = [NSNumber numberWithInt:endFromNowSeconds / 60 - endHour.intValue * 60];

  return @[startHour, startMinute, endHour, endMinute];
}

下面的代码应该注释:

//if([eventDate compare:[NSDate dateWithTimeIntervalSinceNow:-24*60*60]] == NSOrderedAscending) return @[];
//if([eventDate compare:[NSDate dateWithTimeIntervalSinceNow:24*60*60]] == NSOrderedDescending) return @[];