簡體   English   中英

如何自定義Apple CareKit?

[英]How to customize Apple CareKit?

在CareKit中,有“護理卡”和“症狀跟蹤器”。 我不了解如何自定義Carecardviewcontroller和symptomtrackerviewcontroller。 我不想使用這些視圖控制器,但對使用這些視圖控制器的組件感興趣。 沒有明確的文檔可以對此進行探討。

1 http://carekit.org/docs/docs/Overview/OverviewImages/CareCard.png

如果您是從Swift的角度來看這個問題的,那么必須承認CareKit就像您所能想象的那樣“不迅捷”。 GitHub站點當然是一個開始,但是在這里閱讀編程指南與實際實現解決方案之間存在巨大的鴻溝。 對我而言,這肯定是一個漫長的旅程!

也就是說,您可以使用CareKit提供的視圖控制器委托功能,向CareKit的無故事板方法添加自定義功能。

例如,假設您有一個應用程序,它提醒用戶執行兩項干預活動:(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方面取得任何進展。

我一直在尋找自己的答案。

據我研究,您可以使用UIAppearance在視覺上自定義此屏幕。 和/或,您可以使用其行為從頭開始創建一個新的屏幕。

您可以檢查CareKit源代碼以獲取有關此方面的提示: https : //github.com/carekit-apple/CareKit/tree/master/CareKit/CareCard

在那里,您會注意到一些有趣的類/文件:

  • OCKCareCardWeekView
  • OCKWeekLabelsView
  • OCKHeartView
  • OCKHeartButton
  • OCKWeekViewController
  • OCKHelpers

CareKit通過代碼繪制每個屏幕。 您可以通過閱讀代碼來了解他們的操作方式。 這個想法是用這些片段或一個從頭開始創建自己的ViewController。

當然,它不只是使用CareCardViewController那樣簡單,但這將帶您到那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM