TRZSlideLicenseViewController の使い方 (CocoaPods管理下のライブラリーのライセンス情報表示用UIライブラリー)

## TRZSlideLicenseViewController とは

[TRZSlideLicenseViewController](https://github.com/86/TRZSlideLicenseViewController) は、 iOS アプリで使用する 3rd パーティーライブラリーのライセンス情報をいい感じに表示してくれる UI ライブラリーです。ライブラリー管理ツール [CocoaPods](http://cocoapods.org/) の使用が前提です。作った背景などは[ブログ](http://86.triaedz.com/blog/2014/04/29/trzslidelicenseviewcontroller/)の方に書いています。

<img src="http://86.triaedz.com/images/TRZSlideLicenseViewController.gif"/>

## 特徴

* 横スクロールでページ切り替え
* 強くフリックすると、ページングが解除されて慣性スクロール
* 減速してスクロールが止まると、画面中央に自動的に戻り、ページングが有効に
* リンクを検出、Safariで開きます
* Podsフォルダ内の ``Pods-acknowledgements.plist`` を利用して、ライセンス情報を取り込み


## 前提条件

* CocoaPods を使用
* iOS 7.0 以降
* ナビゲーションコントローラーの子ビューコントローラーとして使用
* 縦向き（ポートレート）のみをサポート

## インストール
Podifileに以下を追記。

``pod 'TRZSlideLicenseViewController'``

そのあと `` pod install`` （ッターン！）

## 使い方

#### 事前準備

Pods フォルダ内の ``Pods-acknowledgements.plist`` をプロジェクト内にインポートしておきます。

``Pods-acknowledgements.plist`` は CocoaPods を利用していれば、Pods フォルダ内に自動生成されています。CocoaPodsで利用しているライブラリーのライセンス情報がすべて格納されていますので、これをロードして利用しています。

#### ストーリーボードからビューをロードする場合

1. ストーリーボード上に新しいビューコントローラーを配置します。
2. 配置したビューコントローラーを選択し、identity inspector のカスタムクラスフィールドに ``TRZSlideLicenseViewController`` と入力します。
3. 遷移元ビューコントローラーと ``TRZSlideLicenseViewController`` をプッシュセグエで接続します。
4. セグエを選択し、 attributes inspector の segue identifier に任意の文字列を入力します。（ここでは ``segueIdentifier`` と入力）
6. 遷移元ビューコントローラーのクラスファイルで、以下の通り ``prepareForSegue`` を実装します。

```objective-c
#import "TRZSlideLicenseViewController.h"

...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"segueIdentifier"]) {
        TRZSlideLicenseViewController *controller = segue.destinationViewController;
        controller.podsPlistName = @"Pods-acknowledgements.plist";
        controller.navigationItem.title = @"Sample Licenses";
    }
}

```


#### コードからビューを生成する場合

以下の通り生成して、ナビゲーションコントローラーにプッシュするだけです。

```objective-c
#import "TRZSlideLicenseViewController.h"

...

TRZSlideLicenseViewController *controller = [[TRZSlideLicenseViewController alloc] init];
controller.podsPlistName = @"Pods-acknowledgements.plist";
controller.navigationItem.title = @"Sample Licenses";
[self.navigationController pushViewController:controller animated:YES];
```

## その他のオプション

### ヘッダーページ、フッターページのカスタマイズ

先頭のページと最後のページに表示する文字列をカスタマイズできます。

``TRZSlideLicenseViewController`` のプロパティの ``headerType``、 ``footerType`` に以下の値をセットします。

#### TRZSlideLicenseViewHeaderType

| Value | Description |
|:------|:------------|
| ``TRZSlideLicenseViewHeaderTypeDefault`` |デフォルト値です。ヘッダーページには CocoaPods により生成されたタイトルとテキストが表示されます。具体的には "Acknowledgements" と "This application makes use of the following third party libraries:" になります。| 
|``TRZSlideLicenseViewHeaderTypeNone``		|ヘッダーページは表示せず、最初からライセンス情報を表示します。|
|``TRZSlideLicenseViewHeaderTypeCustom``   |ヘッダーページに任意の文字列を表示します。文字列はコントローラーの `headerTitle`,  `headerText` プロパティにセットしてください。|

#### TRZSlideLicenseViewFooterType

| Value | Description |
|:------|:------------|
| ``TRZSlideLicenseViewFooterTypeDefault`` |デフォルト値です。フッターページにはCocoaPodsにより生成されたテキストが表示されます。具体的には "Generated by CocoaPods - http://cocoapods.org" になります。| 
|``TRZSlideLicenseViewFooterTypeNone``		|フッターページは表示しません。|
|``TRZSlideLicenseViewFooterTypeCustom``   |ヘッダーページに任意の文字列を表示します。文字列はコントローラーの `footerTitle`,  `footerText` プロパティにセットしてください。|

### テキストの色変更

``TRZSlideLicenseViewController`` の ``titleColor`` もしくは ``textColor`` プロパティに任意の ``UIColor`` をセットしてください。

### カスタマイズ例

```objective-c
...

TRZSlideLicenseViewController *controller = [[TRZSlideLicenseViewController alloc] init];
controller.podsPlistName = @"Pods-TESTTRZSlideView-acknowledgements.plist";
controller.navigationItem.title = @"Sample Licenses";

// ヘッダーページの文字列をカスタマイズ
controller.headerType = TRZSlideLicenseViewHeaderTypeCustom;
controller.headerTitle = @"Libraries We Use";
controller.headerText = @"This application makes use of the third party libraries on the following page (➟).\n\nWe thank the open source community for all of their contributions.";

// フッターページを削除
controller.footerType = TRZSlideLicenseViewFooterTypeNone;

// 背景の色、文字の色をカスタマイズ
controller.view.backgroundColor = [UIColor darkGrayColor];
controller.view.tintColor = [UIColor colorWithRed:0.9 green:0.4 blue:0.4 alpha:1.0];
controller.titleColor = [UIColor whiteColor];
controller.textColor = [UIColor lightGrayColor];

[self.navigationController pushViewController:controller animated:YES];
```

## ライセンス

MIT License