2017-03-27 1 views
0

私のプロジェクトでJTCalendarを使用しています。その日のイベントがある場合は、indicators (round dots)を日付の下に表示する必要があります。 APIの応答でarray of dictionariesが返されます。辞書には"service_date"のキーと"10/02/2017"のような文字列の値があります。JTcalendar - メソッド(BOOL)の使用方法haveTaskForDay:(NSDate *)date

haveTaskForDayの方法でサービスの日付を確認するにはどうすればよいですか? JTCalendarのデリゲートで

答えて

1

- (void)calendar:(JTCalendarManager *)calendar prepareDayView:(JTCalendarDayView *)dayView 
{ 

      if([self haveTaskForDay:dayView.date]) 
      { 
       dayView.dotView.hidden = NO; 
       dayView.dotView.backgroundColor = [UIColor blackColor]; 
      } 
      else 
      { 
       dayView.dotView.hidden = YES; 
      } 
} 

とあなたのhaveTaskForDay方法では、日付があなたの辞書に1と類似しているならば、あなたは確認することができ、デリゲートの上から日付パラメータを取得します:

- (BOOL) haveTaskForDay :(NSDate *)date 
{ 
for (NSDictionary * eventDictionary in yourArray) 
     { 
      NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
      [formatter setDateFormat:@"dd/MM/yyyy"]; 
      NSString * calendarDate = [formatter stringFromDate:date]; 

      NSString * dateString = [eventDictionary objectForKey : @"service_date"]; 

      if([dateString isEqualToString:calendarDate]) 
       return 1; 
     } 

    } 
     return 0; 
} 

注:私はこのコードを実行しませんでした。必要に応じて修正する必要があります。

+0

"であり、あなたの' haveTaskForDay'メソッドでは、上記の代理人からdateパラメータを取得し、日付が辞書のものと似ているかどうかを確認できます。 - 実際にこれは動作していないものです... –

+0

これはあなたのために動作する場合、これを回答として受け入れてください。 –

+0

この方法を試しました。それが働いています。ビューが読み込まれるとJTCalendarはドットを表示しません。ユーザが任意の日付をタップすることによってそれと対話する場合にのみ、ドットが見える。 –

関連する問題