0
1

More than 3 years have passed since last update.

ライブラリを利用してProgressBarを実装

Posted at

はじめに

現在開発中のカウントアプリにあとゴールまでどのぐらいなの感覚的に伝えるためにProgressBarを導入する事にしました。
この記事では、その際に試した事をアウトプットしようと思います。

完成形

ezgif-6-e8bc45d9fe83.gif

使用したライブラリ

・MBCircularProgressBar
https://github.com/MatiBot/MBCircularProgressBar

CocoaPodsを利用してインストール

CocoaPodsを使用してSwiftConfettiViewをインストールしてください。

pod "MBCircularProgressBar"

Podfileに上記を入力してpod install

Storyboardにパーツを配置

スクリーンショット 2020-12-30 19.10.16.png
ViewをViewContorollerに配置します。
スクリーンショット 2020-12-30 19.08.15.png
Custom ClassのClassをMBCircularProgressBarViewに設定します。
スクリーンショット 2020-12-30 19.17.17.png
円形のProgressBarが現れます。
スクリーンショット 2020-12-30 19.22.26.png
ButtonやTextFieldを設置。

コーディング

    var number: Float = 0
    var paersent: Float!
    var targetNumber: Float!
    @IBOutlet weak var targetNumberTextField: UITextField!
    @IBOutlet weak var countNumberLabel: UILabel!
    @IBOutlet weak var progressView: MBCircularProgressBarView!

変数を宣言し、パーツを関連付け。

 @IBAction func countButton(_ sender: Any) {
        //目標回数を取得
        targetNumber = Float(targetNumberTextField.text!)
        //numberに1をたす
        number += 1
        //numberに1をたした数を表示
        countNumberLabel.text = "\(number)"
        //パーセンテージを計算
        paersent = number / targetNumber * 100
        //パーセンテージを表示
        progressView.value = CGFloat(paersent)
    }

countButtonを押した時の処理。

    @IBAction func resetButton(_ sender: Any)
        number = 0
        progressView.value = CGFloat(number)
    }

resetButtonを押した時の処理。

まとめ

今回は、目標回数を設定しあとどれくらいなのをパーセントで見える化しました。
このライブラリは、バーの色などもカスタマイズすることもできます。カスタマイズについては下記のURLを参考にしてみてください。

参考

・MBCircularProgressBar
https://github.com/MatiBot/MBCircularProgressBar
・[iOS][Swift] MBCircularProgressBar で円形のプログレスバーを実現!
https://dev.classmethod.jp/articles/mbcircularprogressbar/
・円型のプログレスバー実装(MBCircularProgressBar)
https://qiita.com/Walkdream24/items/440b1c2757048b340920

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1