2

CareKitにはCare CardとSymptom trackerがあります。Carecardviewcontrollerとsympttrackerviewcontrollerをカスタマイズする方法がわかりません。これらのView Controllerを使用したくありませんが、これらのView Controllerのコンポーネントを使用することに興味があります。これを調査するための明確なドキュメントはありません。

1
(出典: carekit.org )

4

2 に答える 2

2

これを Swift の観点から考えているのであれば、CareKit が想像できる限り「非 Swifty」であることを認めなければなりません。GitHub サイトは確かに出発点ですが、そこにあるプログラミング ガイドを読むことと、実際にソリューションを実装することの間には恐ろしいギャップがあります。それは確かに私にとって長いスローガンでした!

そうは言っても、CareKit が提供するビュー コントローラー デリゲート関数を使用して、CareKit のストーリー ボードを使用しないアプローチにカスタマイズを追加できます。

たとえば、(1) アスピリンを服用し、(2) 早歩きをするという 2 つの介入アクティビティを実行するようユーザーに通知するアプリがあるとします。ユーザーが Care Card を開き、「アスピリンを服用する」のイベント アイコン (円の 1 つ) をタップすると、OCCKCareCardViewControllerDelegate で次のメソッドが呼び出されます。

careCardViewController(_ viewController: OCKCareCardViewController,
                       didSelectButtonWithInterventionEvent: OCKCarePlanEvent)

このメソッドでは、任意のビュー コントローラーにセグエできます。たとえば、イベントがアスピリンの服用に関するものである場合、アスピリン テーブルの写真を表示するビュー コントローラーを表示し、81 mg の用量のみを含むように注意し、水で服用することを推奨します。

もちろん、CareKit で簡単なことはありません。円形のアイコンがタップされた場合に完了したイベントを呼び出すという CareKit の標準的な方法も、おそらくオフにする必要があることがわかります。これは、次の別のデリゲート メソッドから "false" を返すことによって実現されます。

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

私が慎重にお勧めできるBeginning CareKit Developmentという本があります。これは以前のバージョンの Swift 用に書かれたものであり、Swift 3 で機能させるには多くの「翻訳」を行う必要があります。最後に GitHub リポジトリでこの本に関連するコードを確認したときも、完全にこの以前のバージョンに含まれていました。バージョン。ご要望があれば、APress は Swift 3 に更新されたコードを提供します。Kindle では、ページ番号や関連するテキストへのハイパーリンクがないインデックス、テキストとコードの区別が難しい非常に奇妙な書式設定の選択、ソリューション コードの時折のエラーなど、この本には多くの小さな不具合があります。そうは言っても、この本の助けがなければ、CareKit を使って進歩したとは思えません。

于 2017-02-23T23:13:22.737 に答える
1

私はこの答えを自分で探していました。

私が調べた限りでは、UIAppearance でこの画面を視覚的にカスタマイズできます。AND/OR 動作を使用して、このような新しい画面を最初から作成できます。

これに関するヒントについては、CareKit ソース コードを確認できます: https://github.com/carekit-apple/CareKit/tree/master/CareKit/CareCard

そこには、いくつかの興味深いクラス/ファイルがあります。

  • OCKCareCardWeekView
  • OCKWeekLabelsView
  • OCKHeartView
  • OCKハートボタン
  • OCKWeekViewController
  • OCKヘルパー

CareKit はコードを介して各画面を描画します。コードを読むことで、彼らがどのようにそれを行うかを見ることができます。アイデアは、これらの部分を使用して独自の ViewController を作成するか、ゼロから作成することです。

確かに、CareCardViewController を使用するほど簡単ではありませんが、これで十分です。

于 2016-07-05T20:06:59.420 に答える