UIDatePickerModeCountDownTimerで値を設定/取得する方法
presented by 役に立つかもしれないBlog

UIDatePickerでは様々なモードの表示形式を選ぶことができますが、時間の長さ指定をユーザーに選ばせたい場合に便利なモードが「UIDatePickerModeCountDownTimer」です。
しかし、このモードだけはちょっと値の設定・取得する方法が特殊でして、検索してみても答えがパッと見つかりませんでした。(海外サイトで見つけましたけど)
基本単位は「秒」
UIDatePickerModeCountDownTimerのモードにおいては、値の設定・取得ともに単位は「秒数」で指定します。 例えば1時間であれば3600、30分であれば1800になります。
設定方法
画面表示時(viewDidLoad)に「1時間」と設定する場合は以下のようにsetCountDownDuration関数で指定します。
_pickerはUIDatePickerインスタンスとします。
- (void)viewDidLoad
{
[super viewDidLoad];
[_picker setCountDownDuration:3600];
}
ちなみに、タイマーのインターバル(minuteIntervalプロパティ)を5分単位に設定したりすると、5×60=300で割り切れる秒数で指定しないとうまく設定できないので注意しましょうね。
取得方法
たとえば画面を閉じる、または移動する際(viewWillDisappear)に値を自作の変数に格納するには以下のようにcountDownDurationプロパティを参照します。
_secondsは自作int型の変数とします。
- (void)viewWillDisappear:(BOOL)animated {
//countDownDurationはNSTimeIntervalで返してくるので、int型に変換後、
//変数に設定
_seconds = (int)[_picker countDownDuration];
[super viewWillDisappear:animated];
}
という感じです。 参考になったでしょうか?
このページに関連のある記事はこちら
- ソフトバンクのポイント失効はこっそり行われている!ぜひ有効利用を。
- Apple製品の部品調達先や製品委託先企業リストが公表される。
- スマートフォン対応手袋「EVOLG」の完成度はどれくらいか?
- ZOMM Wireless Leash Plus の価格と購入手続き
- ZOMM Wireless Leash Plus を日本で買えないか聞いてみた。
- スマートフォン用のUIグラフィック作成を学ぶならこの本
- AppleはAdobeにWindows版XCodeを作ってもらうべきだ(後編)
- 伝記「スティーブ・ジョブズ I・II」を読んだプログラマーの感想
- iOS5のソフトウェアファイル(.ipsw)を手動でフル・ダウンロードして更新する方法
- ソフトバンクでiPhone4Sを一括購入(機種変更)する場合の価格が発表されました。
- UIDatePickerのタイマーで0分に設定しても1分(60秒)になってしまう問題



コメントフォーム