Swiftでロード中アニメーションSVProgressHUDを利用するには

# 要件

Xcode6-Beta5を利用

# CocoaPodsをインストール

CocoaPodsをインストールしないとはじまらないので。
CocoaPodsのインストールにはRubyが必要とのことだが、MacはRubyが入っているので割愛。

```vim
$ sudo gem install cocoapods
````

CocoaPodsで扱うライブラリの情報をセットアップ

```vim
$ pod setup
Updating spec repo `master'
````

記のコマンドを実行すると、`~/.cocoapods`ディレクトリに`CocoaPods/Specs`にあるファイルが展開される。

# Swiftでプロジェクト作成

先ず、`Create a new Xcode project`でプロジェクト作成。
![スクリーンショット_2014_08_06_9_17.png](https://qiita-image-store.s3.amazonaws.com/0/26931/b50aeaab-4e50-eb93-850a-6960a2ea5e73.png)

今回は`Single View Application`を選択。
![スクリーンショット_2014_08_06_9_19.png](https://qiita-image-store.s3.amazonaws.com/0/26931/88e9c5de-1ef0-3542-0c73-5a38a1ce4bb6.png)

今回名称はsampleで進めます。Lnguageは「Swift」に。
![スクリーンショット_2014_08_06_9_21.png](https://qiita-image-store.s3.amazonaws.com/0/26931/d4ba1735-e92b-dde1-c680-91399d371c6a.png)

# Podfileの作成

先ほど作成した`sample.xcodeproj`と同じディレクトリに`Podfile`を作成します。
![sample.png](https://qiita-image-store.s3.amazonaws.com/0/26931/94d98457-249b-5c46-44a7-0058a89e9b37.png)

```vim
sample$ vi Podfile
````

```vim:Podfile
platform :ios, "8.0"
pod 'SVProgressHUD'
````

# ライブラリのインストール
`Podfile`が完成したらライブラリをインストール

```vim
$ pod install
Analyzing dependencies
Downloading dependencies
Installing SVProgressHUD (1.0)
Generating Pods project
Integrating client project

[!] From now on use `sample.xcworkspace`.
````

インストールが完了すると`sample.xcworkspace`が完成する。
![sample.png](https://qiita-image-store.s3.amazonaws.com/0/26931/318c0ccf-fc91-4dcd-ad33-ea4b6f5bb70b.png)

この`sample.xcworkspace`を開く。

# Bridging-Headerを作成
Swiftで使いたいコードのヘッダーをインポートする`Briding-Header`を作成する。
New Fileメニューから`Cocoa Touch Class`を選択し、言語をObjective-Cにしてクラスを生成する。

![sample_xcodeproj.png](https://qiita-image-store.s3.amazonaws.com/0/26931/1e77aeac-ca66-da28-82f9-57cb4f9161ae.png)

「Would you like to configure an Objective-C bridging header?」のメッセージにYes

![スクリーンショット_2014_08_06_9_38.png](https://qiita-image-store.s3.amazonaws.com/0/26931/81ac2b12-4a90-cb66-7dcd-7ff09f1764d8.png)

`sample-Bridging-Header.h`が出来上がっている。

![sample_xcodeproj.png](https://qiita-image-store.s3.amazonaws.com/0/26931/7abee281-a4aa-04bc-525f-2c5165a0affb.png)

ここに、下記を追記。

```objc:sample-Bridging-Header.h
#import <SVProgressHUD.h>
````

# Swiftから呼び出し

とりあえずストーリーボードで下記のようにボタンを並べる。
![Main_storyboard_—_Edited.png](https://qiita-image-store.s3.amazonaws.com/0/26931/16e65aaa-5038-693b-269c-3b4b62522f96.png)

`Ctrl`を押しながらConnectionでActionを選択。
![スクリーンショット 2014-08-19 9.10.14.png](https://qiita-image-store.s3.amazonaws.com/0/26931/c5dd33e4-4c4b-aabd-bdec-4a1cd8edc666.png)

# サンプル

作成したボタンにそれぞれ、Actionを割当。
これ以外も色々ありそうだけどとりあえず代表的なもの。

### ローディングを表示
```swift
SVProgressHUD.show()
````
![スクリーンショット 2014-08-19 9.14.34.png](https://qiita-image-store.s3.amazonaws.com/0/26931/e8ec66ad-f5a7-d5a4-3f53-9161790caf02.png)

### ローディングを表示（文字を入力）
```swift
SVProgressHUD.showWithStatus("読み込み中")
````
![スクリーンショット 2014-08-19 9.18.18.png](https://qiita-image-store.s3.amazonaws.com/0/26931/87d3bc08-4b54-9a70-b798-641684ab996a.png)

### 成功
```swift
SVProgressHUD.showSuccessWithStatus("接続成功！！")
````
![スクリーンショット 2014-08-19 9.20.31.png](https://qiita-image-store.s3.amazonaws.com/0/26931/18b91091-dab0-38be-49f4-239739566baf.png)

### 失敗
```swift
SVProgressHUD.showErrorWithStatus("ネットワーク通信エラーです")
````
![スクリーンショット 2014-08-19 9.21.22.png](https://qiita-image-store.s3.amazonaws.com/0/26931/399cf8bb-35a0-b36d-54a7-301af3451f66.png)

### 引っ込める
```swift
SVProgressHUD.dismiss()
````