ActionSheetPickerを使って時間を選択する

はじめに

  • 時刻表のアプリとかでよく見る,選択したらActionSheetとPickerが混ざったやようなやつが開いて時間を選べるやつを実装したかった

f:id:ryu955:20170906033132j:plain

使ったやつ

名前の通りActionSheetとPickerが組み合わさったものが使えるプラグイン

探し求めてたものがピンポイントでありました

環境

ActionSheetPicker-3.0のインポート

ActionSheetPickerはライブラリ管理ツールを用いてインポートします.

今回はライブラリ管理ツールにCarthageを用いますが,CocoaPodsでもできます

Carthageのインポートはreadmeに全て書いてあります.

Carthage自体の使い方はこの記事が丁寧で分かりやすかったので,ここをみつつInputFile名を $(SRCROOT)/Carthage/Build/iOS/CoreActionSheetPicker.framework に置き換えれば使ったことない人でも問題ないと思います.

こんな感じ f:id:ryu955:20170906040407p:plain

storyboard

まず,Main.storyboardにラベルとボタンを置きます. f:id:ryu955:20170906040751p:plain

その後,スクリプトにそれぞれを紐付けます. ボタンはConnectionをActionにします.

f:id:ryu955:20170906041436p:plain

ソースコード

storyboardに置いたボタンに動作を記述します.

gist.github.com

実行結果

f:id:ryu955:20170906051323g:plain

解説

  • 9行目の datePickerMode の値を変更するとPickerの選択肢が変わる
    • UIDatePickerMode.date だと下の図みたいに日付だけとか
    • UIDatePickerMode. でいろいろサジェストされるから用途に合ったものを選択するといいと思います

f:id:ryu955:20170906051913p:plain

  • 13行目のフォーマットを書き換えることで任意の表示方法にできる
  • 22行目の数字の値の感覚で分が表示される

github

リポジトリ

cloneした後,ディレクトリ内でCarthageをビルドしないとエラーが出ると思うので ,ターミナルでcloneしたディレクトリの中で carthage update --platform iOS を実行