LTMorphingLabel使ってみた

Textに出力している文字に動きをつける

# LTMorphingLabel

Labelなどに出力している文字をオサレな感じに出力します。

#### .Scale - _default_
<img src="https://cloud.githubusercontent.com/assets/219689/3491822/96bf5de6-059d-11e4-9826-a6f82025d1af.gif" width="300" height="70" alt="LTMorphingLabel"/>

#### [.Evaporate](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BEvaporate.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3491838/ffc5aff2-059d-11e4-970c-6e2d7664785a.gif" width="300" height="70" alt="LTMorphingLabel-Evaporate"/>

#### [.Fall](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BFall.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3491840/173c2238-059e-11e4-9b33-dcd21edae9e2.gif" width="300" height="70" alt="LTMorphingLabel-Fall"/>

#### [.Pixelate](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BPixelate.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3491845/29bb0f8c-059e-11e4-9ef8-de56bec1baba.gif" width="300" height="70" alt="LTMorphingLabel-Pixelate"/>

#### [.Sparkle](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BSparkle.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3508789/31e9fafe-0690-11e4-9a76-ba3ef45eb53a.gif" width="300" height="70" alt="LTMorphingLabel-Sparkle"/>

#### [.Burn](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BBurn.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3582586/4fb8c52e-0bfe-11e4-9b6f-f070f7f3ab55.gif" width="300" height="70" alt="LTMorphingLabel-Burn"/>

#### [.Anvil](https://github.com/lexrus/LTMorphingLabel/blob/master/LTMorphingLabel/LTMorphingLabel%2BAnvil.swift)
<img src="https://cloud.githubusercontent.com/assets/219689/3594949/815cd3e8-0caa-11e4-9738-278a9c959478.gif" width="300" height="70" alt="LTMorphingLabel-Anvil"/>

# 環境(Requirements)

1. Xcode 6.3
2. iOS 8.0+

# 導入

cocoaPodでインストールが上手くいかないので
手動でプロジェクトに導入します。


#インストール
[LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel)からダウンロード後
LTMorphingLabelフォルダをプロジェクトに追加。
追加する際に

![スクリーンショット 2015-04-29 16.31.22.png](https://qiita-image-store.s3.amazonaws.com/0/60014/078f4be1-f50a-e98b-e20f-ccd6b5ed0086.png)

Added foldersをCreate groupsにチェックしFinishを押す。


## Labelの設定

![スクリーンショット 2015-04-29 16.56.31.png](https://qiita-image-store.s3.amazonaws.com/0/60014/3ecf3999-a07e-9ea5-8a69-6937bba78d2c.png)

Classには、LTMorphingLabelを選択


## ViewController

使いたいViewControllerに,デリゲートプロトコル宣言

```ViewController.swift
class ViewController: UIViewController, LTMorphingLabelDelegate{
```

```ViewController.swift
    var textArray = [
        "iPhone",
        "iPad",
        "iPod"
    ]
    
    var i = 0
    
    var text:String {
        get {
            if i >= textArray.count {
                i = 0
            }
            return textArray[i++]
        }
    }
```
表示させたい文字を配列へ格納し、textが配列の個数まで来たらリセットを行うことでループして表示


```
    @IBOutlet var label: LTMorphingLabel!
    
    @IBAction func changeText(sender: AnyObject) {
        label.text = text
    }
    
    @IBAction func segmentChanged(sender: UISegmentedControl) {
        let seg = sender
        switch seg.selectedSegmentIndex {
        case 1:
            self.label.morphingEffect = .Evaporate
        case 2:
            self.label.morphingEffect = .Fall
        case 3:
            self.label.morphingEffect = .Pixelate
        case 4:
            self.label.morphingEffect = .Sparkle
        default:
            self.label.morphingEffect = .Scale
        }
        self.changeText(sender);
    }
```
今回は、SegmentControllerで選択すると、Effectが出力されself.changeText(sender)で、アクションの値を渡しています。

これで、オサレなエフェクトが使えます。