2016-06-17 1 views
0

J'utilise FSCalendar pour ajouter une interface utilisateur de calendrier dans mon projet. Mais je suis incapable de trouver une solution pour ajouter des événements au calendrier. Donc, des idées sur la façon d'ajouter des événements à FSCalendar ou un cadre de calendrier tiers?Comment ajouter des événements à FSCalendar Swift?

+0

Avez-vous une solution pour ajouter des événements dans FSCalendar? –

Répondre

-1

Essayez ce code, en Objective-C

- (NSInteger)calendar:(FSCalendar *)calendar numberOfEventsForDate:(NSDate*)date 
{ 
    NSString *dateString = [calendar stringFromDate:date format:@"yyyy-MM-dd"]; 

    if ([_datesWithEvent containsObject:dateString]){ 
     return 1; 
    } 
    else{ 
     NSLog(@"........Events List........"); 
    } 
    return 0; 
} 
0

je un tableau qui contient les dates des événements et le nombre d'événement à cette date que j'ai fait est:

1- dates de comparaison (comparer dates sans le temps using compareDate (data.eventDate !, toDate: date, toUnitGranularity: .Day)) de mon tableau avec la date (dans la fonction)

2- Si elles sont égales j'ajouterai la date à un tableau (datesWithEvent) sans temps afin que je puisse le comparer plus tard sans problèmes

3- return true quand il trouve les bonnes dates

var datesWithEvent:[NSDate] = [] 
func calendar(calendar: FSCalendar, hasEventForDate date: NSDate) -> Bool { 
    for data in eventsArray{ 
     let order = NSCalendar.currentCalendar().compareDate(data.eventDate!, toDate: date, toUnitGranularity: .Day) 
     if order == NSComparisonResult.OrderedSame{ 
      let unitFlags: NSCalendarUnit = [ .Day, .Month, .Year] 
      let calendar2: NSCalendar = NSCalendar.currentCalendar() 
      let components: NSDateComponents = calendar2.components(unitFlags, fromDate: data.eventDate!) 
      datesWithEvent.append(calendar2.dateFromComponents(components)!) 
     } 
    } 
    return datesWithEvent.contains(date) 
} 

Et de préciser le nombre d'événement à cette date (nombre différent de points) J'ai ajouté ce code

func calendar(calendar: FSCalendar, numberOfEventsForDate date: NSDate) -> Int { 
    for data in eventsArray{ 
     let order = NSCalendar.currentCalendar().compareDate(data.eventDate!, toDate: date, toUnitGranularity: .Day) 
     if order == NSComparisonResult.OrderedSame{ 
      return data.numberOfEvent! 
     } 
    } 
    return 0 
} 
1

pour définir des événements de base sur les dates ..

instance de DateFormatter et variables:

var datesWithEvent = ["2015-10-03", "2015-10-06", "2015-10-12", "2015-10-25"] 

var datesWithMultipleEvents = ["2015-10-08", "2015-10-16", "2015-10-20", "2015-10-28"] 

fileprivate lazy var dateFormatter2: DateFormatter = { 
    let formatter = DateFormatter() 
    formatter.dateFormat = "yyyy-MM-dd" 
    return formatter 
}() 

suivant est ... Délégué Fonction:

func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int { 

    let dateString = self.dateFormatter2.string(from: date) 

    if self.datesWithEvent.contains(dateString) { 
     return 1 
    } 

    if self.datesWithMultipleEvents.contains(dateString) { 
     return 3 
    } 

    return 0 
} 

I Hope Cette aide, ce code est base sur FSCalendar exemple de projet.