絶対に挫折しないiPhoneアプリ開発入門Part.22 ~UIDatePickerで日付や時刻を表示しよう~

前回:絶対に挫折しないiPhoneアプリ開発入門Part.21 ~文字列を数値に直して計算した結果を表示させよう by Storyboard~


今日はDatePickerの基礎の基礎を扱いたいと思います。本に書いてあるくらいのことですが。。。

どういう時に使うかというと、日付や時刻を自分で打ち込むのがめんどくさいなぁというときですね。
ピッカーをクルクルーって回して時刻が表示されると嬉しいです。

ラベルに表示させましょう。


例にならって、SingleViewApplicationからスタートします。
このテンプレートからスタートしなくてもいいといえばいいんですが、これが簡単な実装を説明するのに使うテンプレートとして扱いやすいんです。


LabelとDate PickerをViewに配置して、hファイルに紐付けします。

Labelの名前はlabel
Date Pickerの名前はOutletとしてはdatePickerActionとしてはchangeDateとしてみました

まずは部品の配置

そのあと紐付け



Date Pickerをクルクル回すことでラベルの文字が変わるということなので、アクションですね。
また、Date Pickerで表示したものがラベルに現れてほしいのだから、アウトレットとしての機能もいりますね。

実装しましょう。

ViewController.mファイルの下のほうにActionのメソッドができていると思うので、この中に処理を書きましょう。

ViewController.m

- (IBAction)changeDate:(id)sender {
    
    NSDateFormatter *df = [[NSDateFormatter alloc]init];
    df.dateFormat = @"yyyy/MM/dd HH:mm";
    label.text = [df stringFromDate:datePicker.date];

}

これでクルクルーって回すと、その時刻がラベルに表示されると思います。
表示された時刻をラベルに表示するだけでなく、文字列として持っておきたい場合は、

ViewController.m

- (IBAction)changeDate:(id)sender {
    
    NSDateFormatter *df = [[NSDateFormatter alloc]init];
    df.dateFormat = @"yyyy/MM/dd HH:mm";
    NSString *dateStr = [df stringFromDate:datePicker.date];
    label.text = dateStr;

}

みたいにすればよいですね。



…地味かな。。。
この文字列をアプリのSQLiteファイルに書き込んでUpdateするとかも書けばもっと実用的かなぁとか思いつつ、
でも入門からは外れてしまいますので…


中級上級レベルへのステップアップ技術もなんらかのかたちで伝えていけたらなぁと思ってます



======================
当ブログ管理人のツイッターこちら
◎フォローしてくださると泣いて喜びます!ツイッター上で当ブログの質問などにもできるだけお答えしますし、役に立つiPhoneアプリ開発情報もつぶやきます。個人的なご依頼(たとえば、プログラミングの家庭教師、Skypeレッスンをしてくれないか、iPhoneアプリ開発の勉強会ってやってるの、とかですね)でもかまいません。
スカイプレッスンについて
開発をしているとその都度ぶつかる問題があると思いますが、検索で調べてもなかなかわからない、あるいは調べても非常に時間がかかる場合があると思います。開発者のみなさんもお忙しいと思いますので、私のレッスンを受けながら開発を進めていただけると、大幅にお時間を短縮できます。加えて、iPhoneアプリ開発の基礎、応用が身につき、今後の開発もスムーズに進められます

お問い合わせはツイッター、またはhiyoshimarukoアットマークgmail.comまでお願いします。(アットマークを@にしてください)お待ちしております!