Как настроить Apple CareKit?

В CareKit есть Care Card и система отслеживания симптомов. Я не понимаю, как настроить контроллер Carecardview и контроллер симптомов Tracker View. Я не хочу использовать эти контроллеры представления, но заинтересован в использовании компонентов этих контроллеров представления. нет четкой документации, чтобы исследовать это.

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

2 ответа

Если вы подходите к этому с точки зрения Swift, то следует признать, что CareKit примерно такой же "не-Swifty", как и все, что вы можете себе представить. Сайт GitHub, безусловно, является началом, но существует огромный разрыв между чтением руководств по программированию и реализацией решения. Это, конечно, было длинным утомительным для меня!

Тем не менее, вы можете добавить настройку к подходу CareKit без использования раскадровки, используя функции делегата контроллера представления, которые предоставляет CareKit.

Например, предположим, что у вас есть приложение, которое напоминает вашему пользователю о выполнении двух действий вмешательства: (1) принять аспирин и (2) пойти на оживленную прогулку. Если пользователь открывает карту Care Care и нажимает значок события (один из кружков) для "принятия аспирина", то в OCKCareCardViewControllerDelegate будет вызываться метод, который называется:

careCardViewController(_ viewController: OCKCareCardViewController,
                       didSelectButtonWithInterventionEvent: OCKCarePlanEvent)

В этом методе вы можете перейти к любому контроллеру представления, который вы хотите. Например, если событие предназначено для приема аспирина, отобразите контроллер просмотра, который показывает фотографию таблицы аспирина, напоминание о том, что она должна содержать только дозу 81 мг, и рекомендацию принимать ее с водой.

Конечно, с CareKit нет ничего проще. Оказывается, что вы, вероятно, также захотите отключить стандартную практику CareKit - называть событие завершенным, если нажать на значок круга. Это достигается путем возврата "false" из другого метода делегата, который называется:

careCardViewController( _ viewController: OCKCareCardViewController,
                        shouldHandleEventCompletionFor
                            interventionActivity: OCKCarePlanActivity )
                      -> Bool

Есть книга под названием " Начало разработки 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, но это поможет вам.

Другие вопросы по тегам