2015-12-29 2 views
0

Я использую DSLCalendarView для отображения расписаний. Когда изменяется месяц, вызывается didChangeToVisibleMonth. Я обновляю данные об этом событии. Но я хочу, чтобы календарь перезагрузился и на этом мероприятии. Возможно ли обновить/перезагрузить DSLCalendarView?DSLCalendarView reload

ответ

1

В DSLCalendarView.m необходимо добавить тег значение для двух зрения. ниже добавить код значение тега. просто измените в файле.

- (id)initWithFrame:(CGRect)frame { 
self = [super initWithFrame:frame]; 
if (self != nil) { 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(reloadCalendar:) 
               name:@"reloadCalendar" 
               object:nil]; 

    [self commonInit]; 
} 

return self;} 

-(void)reloadCalendar{ 
    [self commonInit]; 
} 

- (void)commonInit { 
[[self viewWithTag:508] removeFromSuperview]; 
[[self viewWithTag:509] removeFromSuperview]; 
self.monthSelectorView.tag=508; 
self.monthContainerView.tag=509; 
} 

- (void)didTapMonthBack:(id)sender { 
NSDateComponents *newMonth = self.visibleMonth; 
newMonth.month--; 
[self commonInit]; 
[self setVisibleMonth:newMonth animated:YES]; } 

- (void)didTapMonthForward:(id)sender { 
NSDateComponents *newMonth = self.visibleMonth; 
newMonth.month++; 
[self commonInit]; 
[self setVisibleMonth:newMonth animated:YES];} 

если мы нажмем вперед или назад кнопку в календаре после этого перезагрузить календарь.

в видовом контроллере просто метод вызова уведомления, если мы изменим вызов события в метод времени вызовет.

- (void)calendarView:(DSLCalendarView *)calendarView didChangeToVisibleMonth:(NSDateComponents *)month { 

[[NSNotificationCenter defaultCenter]postNotificationName:@"reloadCalendar" object:self]; 
NSLog(@"Now showing %@", month); 

}

+0

Работал как шарм. Благодарю. – Nitish

+0

Ваш всегда Добро пожаловать @Nitish –

0

я видел в библиотеке не имеет какой-либо трюк, чтобы сделать это, к сожалению, не имеет метод перезагрузки :(. Может быть некоторые работы вокруг решения проблемы в вашем случае.