在CareKit中,有“护理卡”和“症状跟踪器”。我不了解如何自定义Carecardviewcontroller和symptomtrackerviewcontroller。我不想使用这些视图控制器,但对使用这些视图控制器的组件感兴趣。没有明确的文档可以探索这一点。

ios - 如何自定义Apple CareKit?-LMLPHP
(来源:carekit.org)

最佳答案

如果您是从Swift的角度来看这个问题的,那么必须承认CareKit就像您可以想象的那样是“不迅速的”。 GitHub站点当然是一个开始,但是在这里阅读编程指南与实际实现解决方案之间存在巨大的鸿沟。对我而言,这肯定是一个漫长的log!

也就是说,您可以使用CareKit提供的视图控制器委托功能,向CareKit的无故事板方法添加自定义功能。

例如,假设您有一个应用程序可以提醒用户执行两项干预 Activity :(1)服用阿司匹林,(2)进行轻快步行。如果用户打开护理卡并点按“服用阿司匹林”的事件图标(一个圆圈),则将在OCKCareCardViewControllerDelegate中触发一个方法,该方法称为:

careCardViewController(_ viewController: OCKCareCardViewController,
                       didSelectButtonWithInterventionEvent: OCKCarePlanEvent)

通过这种方法,您可以选择所需的任何视图控制器。例如。如果该事件是为了服用阿司匹林,则显示一个视图控制器,该控制器显示一张阿司匹林表的照片,提醒其应仅包含81 mg剂量,并建议您用水服用。

当然,使用CareKit绝非易事。事实证明,如果轻按了圆圈图标,您可能还希望关闭CareKit的标准方法,即调用事件完成。这是通过从另一个委托方法返回“false”来实现的:
careCardViewController( _ viewController: OCKCareCardViewController,
                        shouldHandleEventCompletionFor
                            interventionActivity: OCKCarePlanActivity )
                      -> Bool

我可以谨慎推荐一本书,名为《 Beginning CareKit开发》。它是为Swift的早期版本编写的,您需要做很多的“翻译”操作才能使它与Swift 3配合使用。上次我在GitHub存储库中检查与本书相关的代码也完全在此早期版本。如果您要求,APress将提供更新到Swift 3的代码。在Kindle上,这本书有很多小故障,包括没有页码的索引,也没有指向相关文本的超链接,非常奇怪的格式选择使文本有时难以与代码区分开,并且解决方案代码中偶尔会出现错误。话虽如此,我怀疑如果没有本书的帮助,我是否会在CareKit方面取得任何进展。

08-19 11:46