読者です 読者をやめる 読者になる 読者になる

アニマネ開発日誌

アニメアプリのアニマネの開発日誌です。

iOSのピッカーを簡単に扱えるActionSheetPicker

Objective-C UI アプリ開発 iOS

久しぶりのiOSの開発ネタです。

設定画面でUIPickerを使ってみようと思ったのですが、 意外と面倒だったのでライブラリを探ました。

ActionSheetPickerというライブラリが中々良かったので紹介します。

f:id:animane:20160311161914g:plain

やりたかったこと

  • UITableViewCellをタップして、UIPickerを表示する。
  • UIPickerで項目を選択して閉じる

できること

  • UIPickerの動的追加が簡単にできる
  • 完了ボタンとキャンセルボタンの表示
  • 完了/キャンセルボタンが押された時はブロックで受け取り処理が書ける

サンプルコード

// Inside a IBAction method:

// Create an array of strings you want to show in the picker:
NSArray *colors = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue", @"Orange", nil];

[ActionSheetStringPicker showPickerWithTitle:@"Select a Color"
                                        rows:colors
                            initialSelection:0
                                   doneBlock:^(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue) {
                                      NSLog(@"Picker: %@, Index: %@, value: %@", 
                                      picker, selectedIndex, selectedValue);
                                    }
                                 cancelBlock:^(ActionSheetStringPicker *picker) {
                                      NSLog(@"Block Picker Canceled");
                                    }
                                      origin:sender];
// You can also use self.view if you don't have a sender

githubのコードそのままですが、これだけで簡単に実装できます。