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

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

#環境
・X-code9.4.1
・Swift4.1

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

```pod init```してpodfileを作成。

それ以降のNVActivityIndicatorViewライブラリ導入の手順は[こちらの記事](https://qiita.com/ShirataHikaru/items/7872a9692a78129d07f4)にも載っています。:v:

↓も参考にすると◎
[iOSライブラリ管理ツール「CocoaPods」の使用方法](https://qiita.com/satoken0417/items/479bcdf91cff2634ffb1)

```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使ってみた【例のくるくる】](https://qiita.com/ShirataHikaru/items/7872a9692a78129d07f4)

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

<img width="375" alt="S__38363142.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/186535/bc851d6d-de23-146c-d718-bcece9504c43.jpeg">
<img width="375" alt="S__38363143.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/186535/af4add55-5ecc-2a8c-b90b-2d805aaecdeb.jpeg">
<img width="375" alt="S__38363144.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/186535/67f77504-eda2-67c3-22c2-fa0441e9ea51.jpeg">
<img width="375" alt="S__38363145.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/186535/dbd79ad8-2428-be98-12c0-7d00cdc5d063.jpeg">


#補足
##podごにょごにょしてる段階でエラーになってしまったとき
もし、```import NVActivityIndicatorView```した段階で、
<img width="731" alt="スクリーンショット 2018-09-02 23.44.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/186535/7ab1c03d-eb8a-38ff-b9ef-4a616732749a.png">

こんなエラーが出てしまった場合にはprogectをcleanするか、
Link Binay With LibrariesにNVActivityIndicatorViewのライブラリが追加されているか確認。
されていなかったら、+ボタンを押して追加。
<img width="748" alt="スクリーンショット 2018-09-02 23.44.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/186535/d3c70a63-3f60-3f52-54cd-9db5591a0849.png">
<img width="749" alt="スクリーンショット 2018-09-02 23.44.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/186535/bab017e4-c113-3901-8a75-abb4f8db586a.png">
<img width="579" alt="スクリーンショット 2018-09-03 0.00.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/186535/45633308-d415-f603-35e0-103d3dca90b5.png">
それでもダメだったら強めに(optionボタン押しながら)Cleanしましょう・・・。



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