ストップウォッチアプリ03〜stopボタンとclearボタン実装
前回は、startボタンを押すとタイマーが開始する部分まで実装して、タイマー機能の基本動作を確認しました。
今回は下記2つのボタン動作を実装します。
2.stopを押す
-
- => stopを押したタイミングでカウントアップを止め、そのときのカウントの値を表示する
3.clearを押す
-
- => カウンターの表示を0に戻す
概要
- stopを押すと、グローバルフラグをFALSEにする
- これにより0.001秒ごとのラベル更新を止め、見かけ上カウントアップを止めたように見える
- clearを押すと、グローバルフラグをFALSEにすると同時に、ラベルの表示を0.000に書き換える
- 0.001秒ごとのラベル更新を止めると同時にラベルを0.000に書き換えることで、見かけ上カウントアップが止まり、カウンターが初期化されたように見える
ソース
前回のソースに下記追加。
.m
- (IBAction)clear_down:(id)sender { timeflg = FALSE; self.lbl.text = @"0.000"; } - (IBAction)stop_down:(id)sender { timeflg = FALSE; }
問題点
stopボタン押下後、再度startボタンを押しても止めた時間からの再スタートができない。
再スタートできるようにするためには、stop押下時の値を保持しておいて、再スタート&再ストップ後にその値を足す方法があるとのこと。
(もとまかさんのページのコメント欄参照)
次回
値の保持、リスタート、リストップができるようにする。