LoginSignup
12
6

More than 5 years have passed since last update.

【Swift4】NVActivityIndicatorView(いい感じのインジケータ)をコードで追加する

Last updated at Posted at 2018-09-02

はじめに

「いい感じのインジケータにしといて」と突然上司に言われた時に、
超初心者でもスムーズにいい感じのインジケータを使えたら便利だなという思いで本記事を書きました。
尚、私自身知識激浅なのでご留意ください。

環境

・X-code9.4.1
・Swift4.1

手順

NVActivityIndicatorViewライブラリを導入

ターミナルを開いてcdコマンドで作成済みのX-codeのプロジェクト「Test(仮)」のある場所(青色のX-codeファイルのある階層)まで移動。
ex)cd Test

pod initしてpodfileを作成。

それ以降のNVActivityIndicatorViewライブラリ導入の手順はこちらの記事にも載っています。:v:

↓も参考にすると◎
iOSライブラリ管理ツール「CocoaPods」の使用方法

pod install してNVActivityIndicatorViewが使えるようになったら、
TestViewController(インジケータを表示したいViewController)を作成します。

コードでNVActivityIndicatorViewを追加する

実際に書いたコードは以下です。
ボタンを押したときにインジケータが表示されたり止まったりします。

TestViewController.swift
import UIKit
import NVActivityIndicatorView

final class TestViewController: UIViewController {

    private var activityIndicatorView: NVActivityIndicatorView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // インジケータの追加
        activityIndicatorView = NVActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 60, height: 60), type: NVActivityIndicatorType.lineSpinFadeLoader, color: UIColor.red, padding: 0)
        activityIndicatorView.center = self.view.center // 位置を中心に設定
        view.addSubview(activityIndicatorView)
    }

    @IBAction func pushStartButton(_ sender: UIButton) {
        start()
    }

    @IBAction func pushStopButton(_ sender: UIButton) {
        stop()
    }

    /// インジケータ開始(startメソッドは書かなくてもOKw)
    private func start() {
        activityIndicatorView.startAnimating()
    }

    /// インジケータ 停止(stopメソッドは書かなくてもOKw)
    private func stop() {
        activityIndicatorView.stopAnimating()
    }
}

NVActivityIndicatorTypeでは、いろいろなインジケータの種類を指定できます。

参考:【Swift】シンプルでオシャレなNVActivityIndicatorView使ってみた【例のくるくる】

色合い諸々のダサさは置いておいて、インジケータそのものは良さそうな感じです。:hugging:(動画貼れなかった)

S__38363142.jpg
S__38363143.jpg
S__38363144.jpg
S__38363145.jpg

補足

podごにょごにょしてる段階でエラーになってしまったとき

もし、import NVActivityIndicatorViewした段階で、
スクリーンショット 2018-09-02 23.44.11.png

こんなエラーが出てしまった場合にはprogectをcleanするか、
Link Binay With LibrariesにNVActivityIndicatorViewのライブラリが追加されているか確認。
されていなかったら、+ボタンを押して追加。
スクリーンショット 2018-09-02 23.44.34.png
スクリーンショット 2018-09-02 23.44.48.png
スクリーンショット 2018-09-03 0.00.25.png
それでもダメだったら強めに(optionボタン押しながら)Cleanしましょう・・・。

参考

https://developer.apple.com/documentation/uikit/uiactivityindicatorview
https://qiita.com/ShirataHikaru/items/7872a9692a78129d07f4

12
6
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
12
6