iOS

SwiftUIでChartライブラリを使ってみた。

投稿日:2020年7月27日 更新日:

はじめに

こんにちはsuzukiです。本日はSwiftUIで、Chartライブラリを使う方法についてまとめました。

Chartsライブラリについて

Swift UIでChartsを利用してチャートを書きます。
以前の記事で何度か触れている、無料でチャート描画が可能なライブラリです。
サンプルはiOSはGitHub上のdemoから確認できます。

ライブラリの導入

今回はCocoaPodsを利用しインストールしました。
pod 'Charts'
上記をPodfileに記述し、pod installを行います。

wrapper structの作成

SwiftUIでChartライブラリを利用する手順はこちらでも説明がございます。
SwiftUIでチャートの描画を行うためにラッパークラスを作成します。※structなので、クラスという表現は間違っているかもしれませんが、ラッパーストラクトとかラッパー構造体に違和感があり、ラッパークラスと表現してます。
今回はCandleStickChartViewというローソク足のラッパークラスを作成します。

描画のための準備

下記手順で描画するための準備を行います。
1、クラスファイルの追加
今回はCandleという名前でファイルの追加
2、ライブラリのインポート分の描画

3、Candleという構造体を定義

4、makeUIViewでCandleStickChartViewを返却

ここまででSwiftUIで画面上に配置する準備ができました。試しにCandle()を呼び出すと、No chart data availableと表示されます。

データの取得と更新

データの取得と更新について、詳細は以前のSwift ChartsライブラリとCryptowatchAPIでローソク足を描画してみる。の記事で行ったことを元に移植しています。
1、通信のレスポンス用の構造体を定義

2、CryptowatchAPIでからOHLCデータを取得

3、OHLCデータからローソク足用のデータを作成
チャートの描画用の範囲などは要調整です。

4、updateUIViewで上記を使用

5、Candle()を使用してチャートを表示

表示領域が調整が微妙ですが、拡大すると下記のスクショのようにローソク足が表示されています。

コード全体

さいごに

最後までありがとうございます。想像していたよりは簡単に、ライブラリのViewを元にSwiftUIが利用できました。
実際に使うとなると更新タイミングどうしようとかまだ考えることはありますが、今回の記事は以上となります。XCodeのBetaがもう少しうまく動いたら、またwidget周りを触っていこうと思います。

おすすめ書籍

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 詳解 Swift 第4版 [改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

blog-page_footer_336




blog-page_footer_336




-iOS
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

【Xcode15】プライバシーマニフェスト対応に備えて

1 はじめに2 プライバシーマニフェストとは2.1 アプリで利用しているAPIの宣言2.2 サードパーティSDKでの PrivacyInfo.xcprivacy 対応2.3 「アプリのプライバシー」の ...

swift

【Swift】Full Keyboard Accessが有効な際にボタンの動作が行われない。

1 はじめに2 フルキーボードアクセス3 今回の問題4 対応方法5 再現アプリ5.1 ViewController5.2 ChildView6 動かしてみた7 さいごに8 おすすめ書籍 はじめに こん ...

swift

[iOS]意外と簡単ウィジェット機能を実装してみる

1 はじめに2 OSごとのできること3 ウィジェットの実装3.1 Today Extensionの追加3.2 Chartを表示3.3 表示を増やす3.4 ウィジェットをタップした際にアプリを起動する4 ...

swift

[Swift4]UITextViewにプレースホルダをつける

1 はじめに1.1 前提条件2 実装3 さいごに はじめに こんにちは、nukkyです。 UITextFieldにはプレースホルダが標準で用意されていますが、UITextViewには用意されていません ...

【iOS14】他のアプリを簡単に紹介できるSKOverlay

1 はじめに2 SKOverlayとは3 実装3.1 表示位置3.2 非表示3.3 delegate4 さいごに5 おすすめ書籍 はじめに 今回はiOS14から使用できるようになった、SKOverla ...

フォロー

blog-page_side_responsive

2020年7月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。