質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • Swift

    8715questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • Xcode

    4905questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

storyboardと「LineChart」ライブラリを同時に使うには?

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 213

testyoutatsu

score 21

前提・実現したいこと

プログラミング初心者です。

各月の売り上げデータを記録したcsvファイルを読み込み配列を作ります。それを元に以下のURLのライブラリを使ってチャートを表示させたいと思っています。

https://github.com/zemirco/swift-linechart

GitHubから引用
GitHubから引用

storyboardを使ってViewControllerにラベルなどの配置しようと思っていたのですが、サンプルプロジェクトではMain.storyboardファイルがありません。

試したこと

新規でMain.storyboardファイルを追加し、Is Initial View Controllerにチェックを入れビルドしましたがエラーになりました。

Illegal Configuration
ーSafe Area Layout Guide before iOS 9.0


こちらはとりあえずUse Safe Area Layout Guideのチェックを外すことで解決しました。

次にViewControllerにLabelを配置しビルドしました。Main.storyboardファイルを追加する前と同じ画面で立ち上がり、Labelは表示されませんでした。

どのようにすればstoryboardとLineChartライブラリを同時に使うことができるでしょうか?

アプリのイメージ

参考になるか分かりませんが、アプリをどのようなものにしたいかを書きます。

レイアウトは、画面を上下に分割し、上にはグラフ、下の上側には期間と項目を選択するプルダウン、下側にはテーブルビューなどを使い売り上げデータのリストを表示させたいと思っています。

今はグラフに表示させる項目は2つだけと考えていますが、将来的には3つ表示させリストは横にスワイプすることで各項目の売り上げデータを見れるようにしたいと思っています。

かなり大雑把ですが、アプリのレイアウトを簡単に画像にしてみました。
(ステータスバーやプルダウンはSSを切り取り貼っただけです)

イメージ説明

期間のプルダウンは西暦と月を選べるようにします。最長でも1.5年か2年にします。
グラフの上には、GitHubから引用したgifのようにタップした座標の数値(年月・項目の金額)を表示させます。

初歩的な質問ですが、チャートデザイン的にLineChartライブラリを使いたいと思っています。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2019/01/17 09:41

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

  • takabosoft

    2019/01/17 10:05 編集

    Storyboardを使ったアプリでLineChartを表示する方法が分からないという意味ですか?「使い方がわからない」というざっくりとした内容ではどこで躓いているのか、読み手にはわかりません。

    キャンセル

  • testyoutatsu

    2019/01/17 10:28

    そうですね。回答してもらう側なのに失礼しました。
    「Storyboardを使ったアプリでLineChartを表示する方法が分からない」という意味であっています。ラベルやプルダウンをstoryboardを使って配置したいと思っています。

    キャンセル

回答 1

checkベストアンサー

0

察するにもしかしてLineChartのサンプルプロジェクトをそのまま使ってアプリの開発を始めようとしているのかなと思いますが、普通は自分で新規作成したプロジェクトに対して各ライブラリを組み込みます。

ライブラリの組み込み方は、最近はCocoaPodsなどが有名ですがswift-linechartは未対応のようですので、LineChart.swiftを自分のプロジェクトにドラッグ&ドロップすればオッケーです。

LineChart.swiftはSwift3で書かれているようで、最新のXcodeでは警告やコンパイルエラーが出ます。
そこは必要に応じて頑張って修正します。
(が、サンプルを動作させられている時点でここは問題になっていないのかなと思います。)

次にMain.storyboardにViewを貼り、CustomClassとしてLineChartを指定します。

次に、メンバー変数にlineChartといった名前でアウトレットを作成します。
(Ctrlを押しながらソースへドロップ)

あとはlineChartのパラメータを適当にいじって

    override func viewDidLoad() {
        super.viewDidLoad()

        lineChart.area = false
        lineChart.x.grid.visible = false
        lineChart.x.labels.visible = false
        lineChart.y.grid.visible = false
        lineChart.y.labels.visible = false
        //lineChart.dots.visible = false
        lineChart.addLine([3, 4, 9, 11, 13, 15])
        lineChart.addLine([5, 4, 3, 6, 6, 7])
    }

などを書いて実行すればチャートが出ます。

イメージ説明

何ができるか、などはgithubのプロジェクトのトップページにいろいろ書いてありますのでご自身でいろいろ試してみると良いでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/01/17 12:10

    詳しくありがとうございます。もちろんアプリ開発はサンプルプロジェクトとは別のプロジェクトで進めています。CocoaPodsを使ったライブラリの導入しかやったことがなかったので、このやり方を初めて知りました。プロジェクトにLineChart.swiftを追加するだけでいいのですね。無事、ViewControllerに表示せることができました。
    また参考になるか分かりませんが、Xcode 10.1でLineChart.swiftを追加した後ビルドするとFatal errorになりますが、プロジェクトを一度閉じることで問題なくビルドできました。
    とても勉強になりました。回答ありがとうございました。

    キャンセル

同じタグがついた質問を見る

  • Swift

    8715questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • Xcode

    4905questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。