Kal日历演练

TID*_*Dev 5 ios ios5 automatic-ref-counting uistoryboard kal

我是obj c的新手,我不了解如何使用Kal Calendar.有人愿意帮助新的应用程序开发人员完成整个过程吗?我把它安装到我的应用程序但不知道如何使用它.我知道如果你没有回复,我找不到它的任何教程和谷歌只有一点帮助.

我正在使用ios5,故事板和弧形.提前致谢.

我不得不用故事板将日历子类化,这是最好的方法吗?我不能用任何其他方式用导航栏显示它.

更新 - 我不认为子类是要走的路,但我仍在研究解决方案

J2t*_*heC 6

我创建了一个视图控制器来包含日历视图控制器(KalViewController).该视图控制器是KalViewControllerDelegate和datasource.我使用在iOS 5上引入的包含将KalViewController添加为子视图控制器.我将KalViewController的父视图控制器添加到弹出控制器(在iPad应用程序上).我从我想要的地方(UIBarButtonItem)展示它.父视图控制器的工作是为日历视图提供日期,并向表视图提供数据.

编辑:这是你需要做的:

- (void)presentingDatesFrom:(NSDate *)fromDate to:(NSDate *)toDate delegate:(id<KalDataSourceCallbacks>)delegate
Run Code Online (Sandbox Code Playgroud)

您需要找到您的日期(网络,数据库等).获取包含日期的信息后,调用[delegate loadedDataSource:self];

- (NSArray *)markedDatesFrom:(NSDate *)fromDate to:(NSDate *)toDate
Run Code Online (Sandbox Code Playgroud)

这是为了显示日历上标记的日期(带有小点的日期以标记特定日期的事件).在这里,您可以使用模型中的日期来查找将在日历上显示一个月的日期.

- (void)loadItemsFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate
Run Code Online (Sandbox Code Playgroud)

当用户选择一个月中的某一天时,将调用此方法.这应该用于更新tableview数据源上显示的对象列表.因此,如果您保留一个包含日历表日期的数组,请使用给定日期的数据更新数组.

最后:

- (void)removeAllItems
Run Code Online (Sandbox Code Playgroud)

清除tableview数据源数组.

您还必须实现Calendar的tableview数据源和委托方法.