• Stars
    star
    567
  • Rank 78,634 (Top 2 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 10 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Yearly, Monthly, Weekly and Daily Calendars for iOS.

FFCalendar

A study of iOS Yearly, Monthly, Weekly and Daily Calendars.

Yearly Calendar for iOS

Monthly Calendar for iOS

Weekly Calendar for iOS

Daily Calendar for iOS

Limitations

  • For iPad only
  • Works on iOS 7 and above

Usage

Basic usage is implemented in FFCalendarViewController. First you should import FFCalendar.h in FFCalendarViewController. Then, subclass FFYearCalendarView, FFMonthCalendarView, FFWeekCalendarView and FFDayCalendarView. Also set the respective protocols, they will always provide the last modified dictionary (which I called dictEvents), and hence, they will help to update the others calendars.

The dictEvents is formed by events (FFEvent) and their dates. Inside FFEvent you will find:

  • stringCustomerName: the name of the customer
  • dateDay: informs the day, month and year when the event will happen
  • dateTimeBegin: the hour and minute when the event will begin
  • dateTimeEnd: the hour and minute when the event will end
  • arrayWithGuests: an array with all selected guests.

On the other hand, if you enjoyed the FFCalendarViewController's view as it is, you can just add it as a single subview, like following:

- (void)displayFFCalendar {

    FFCalendarViewController *calendarVc = [FFCalendarViewController new];
    [calendarVc setProtocol:self];
    [calendarVc setArrayWithEvents:[self arrayWithEvents]];
    
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:calendarVc];
    navigationController.view.frame = CGRectMake(0., 0., self.view.frame.size.width, self.view.frame.size.height);

    [self addChildViewController:navigationController];
    [self.view addSubview:navigationController.view];
    [navigationController didMoveToParentViewController:self];
}

- (NSMutableArray *)arrayWithEvents {

    FFEvent *event1 = [FFEvent new];
    [event1 setStringCustomerName: @"Customer A"];
    [event1 setNumCustomerID:@1];
    [event1 setDateDay:[NSDate dateWithYear:[NSDate componentsOfCurrentDate].year month:[NSDate componentsOfCurrentDate].month day:[NSDate componentsOfCurrentDate].day]];
    [event1 setDateTimeBegin:[NSDate dateWithHour:10 min:00]];
    [event1 setDateTimeEnd:[NSDate dateWithHour:15 min:13]];
    [event1 setArrayWithGuests:[NSMutableArray arrayWithArray:@[@[@111, @"Guest 2", @"[email protected]"], @[@111, @"Guest 4", @"[email protected]"], @[@111, @"Guest 5", @"[email protected]"], @[@111, @"Guest 7", @"[email protected]"]]]];
    
    return [NSMutableArray arrayWithArray:@[event1];
}

License

FFCalendar is available under the MIT license.

Contact

Contact me at: http://fernandasportfolio.tumblr.com/contato