나는 여기에 내가 달력을 표시하는 방법 방법, 성공적으로 내 애플 리케이션에 칼 달력을 통합 한KAL 캘린더, iOS 내장 캘린더 앱에있는 일정을 표시 할 수 있도록 KalDataSource를 구현하는 방법은 무엇입니까?
-(void)showDepartDatePicker{
NSLog(@"showDepartDatePicker");
if(_departDatePicker != nil){
[self.navigationController pushViewController:_departDatePicker animated:YES];
}else{
_departDatePicker = [[KalViewController alloc] init];
_departDatePicker.title = @"Departure Date";
_departDatePicker.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Today" style:UIBarButtonItemStyleBordered target:self action:@selector(showAndSelectTodayDeparturePicker)];
_departDatePicker.kvcDelegate = self;
[self.navigationController pushViewController:_departDatePicker animated:YES];
}
}
내가 KalViewController.h에 다음을 추가 한,
@protocol KalViewControllerDelegate <NSObject>
@required
- (void)didSelectDate:(KalDate *)date andLoaded:(BOOL)loaded;
@end
및
@property (nonatomic, assign) id <KalViewControllerDelegate> kvcDelegate;
및이 대리자 메서드를 내 viewController 구현 된
- (void)didSelectDate:(KalDate *)date andLoaded:(BOOL)loaded
{
NSLog(@"Title : %@",[self.navigationController.visibleViewController title]);
[self.navigationController popViewControllerAnimated:YES];
}
지금 내 질문에 따라 KalDataSource를 구현하여 이벤트가 표시된 요일을 표시하고이 이벤트를 선택하면 월간보기 아래의 테이블보기에서 이벤트 세부 정보가 표시됩니다. 당신이 칼 달력 https://github.com/klazuka/Kal
두 번째 질문에 대한 새로운 경우
이 링크를 참조하십시오, 여기에 내가 KalViewController.m에서 위임 메소드를 호출하는 방법입니다
- (void)didSelectDate:(KalDate *)date
{
self.selectedDate = [date NSDate];
NSDate *from = [[date NSDate] cc_dateByMovingToBeginningOfDay];
NSDate *to = [[date NSDate] cc_dateByMovingToEndOfDay];
[self clearTable];
[dataSource loadItemsFromDate:from toDate:to];
[tableView reloadData];
[tableView flashScrollIndicators];
//line below calls my delegate method
[self.kvcDelegate didSelectDate:date andLoaded:_loaded];
}
무슨 일이며, 내 탐색 스택, 그것은 내 대리자 메서드를 2 번 (날짜 선택시 호출해야 함) 호출 한 다음 모든 날짜 선택에 대해 해당 대리자 메서드를 다시 호출합니다 (1 회).
심지어이 캘린더는 과거 날짜가 표시되지 않도록 제한하고 싶습니다. 도와주세요.