2016-06-21 4 views
2

CareKitには、ケアカードと症状トラッカーがあります。私はCarecardviewcontrollerとsymptomtrackerviewcontrollerをカスタマイズする方法を理解していません。私はこれらのビューコントローラを使用するのではなく、これらのビューコントローラのコンポーネントを使用することに興味があります。これを調べる明確な文書はありません。Apple CareKitをカスタマイズするには?

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

+0

ケアキットをカスタマイズできましたか? – Sulabh

答えて

1

私はこの答えのために自分を見てきました。

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

あなたがこの上でのヒントのためのCareKitのソースコードを確認することができます:あなたは、いくつかの興味深いクラス/ファイルを気づくありhttps://github.com/carekit-apple/CareKit/tree/master/CareKit/CareCard

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

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

確かに、CareCardViewControllerを使用しているのと同じくらい些細なことではありませんが、これはあなたに届きます。

+0

これが役に立ちます。あなたはそれをカスタマイズすることができますか? –

+0

はい、私はコードのフォークを作成し、いくつかのUIクラスをオーバーライドできるようにコードを変更することができました。 –

2

あなたがスウィフトの観点からこのように来るのであれば、ケアキットはあなたが想像できるもののように「不思議ではない」ものであると認めなければなりません。 GitHubサイトは確かに始まったが、そこにプログラミングガイドを読んで実際に解決策を実装することとの間には恐ろしい差がある。それは確かに私にとって長い間スローグでした!

つまり、CareKitが提供するView Controllerデリゲート機能を使用して、CareKitのストーリーボードのないアプローチにカスタマイズを追加することができます。

たとえば、2つの介入活動、(1)アスピリンの摂取、(2)活発な歩行のための行動を思い出させるアプリがあるとします。利用者は、ケアカードを開き、それが呼ばれるOCKCareCardViewControllerDelegateのメソッド起動します「アスピリンを取る」ためのイベントアイコン(円の1)タップする:あなたはどんなビューにセグエすることができます。この方法では

careCardViewController(_ viewController: OCKCareCardViewController, 
         didSelectButtonWithInterventionEvent: OCKCarePlanEvent) 

をあなたが望むコントローラ。例えば。イベントがアスピリンを摂取するためのものであれば、アスピリンの写真を表示するビューコントローラー、81mgの線量が含まれているはずであることを示す表示、および水での摂取に関する勧告を表示する。

もちろん、CareKitでは何も簡単です。 CareKitのサークルアイコンがタップされていれば完了したイベントを呼び出すという標準的なプラクティスを無効にしたいと思うかもしれません。私は慎重にお勧めすることができますCareKit開発の開始という本があり

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

:それは別のデリゲートメソッドと呼ばれるから「false」を返すことによって達成されます。これはSwiftの以前のバージョン用に書かれたもので、を "翻訳"してSwift 3と動作させる必要があります。本書に関連するコードのGitHubリポジトリを確認した最後の時間は、この以前のバージョン。あなたが尋ねるなら、Swress 3に更新されたコードを提供します。 Kindleには、ページ番号や関連するテキストへのハイパーリンクを含むインデックス、テキストとコードとの区別が難しいような非常に奇妙なフォーマットの選択、ソリューションコードの時折のエラーなど、この本ではほとんど問題がありません。言われたことすべて、私は本の助けなしに私がCareKitと進歩を遂げたとは思っていません。

関連する問題