UIDatePickerのCount Down Timer Modeで最初の変更が反映されない [objective-c]
メトロノームのタイマー機能を更新していて、今のTempo表示をそのまま時間として使用する方法から、ピッカーを使うようにしていたところハマりました。UIDatePickerでValue Changedのイヴェントが起きたときのActionを設定したのですが、何と起動して初回だけ、このMethodが呼ばれないのです。
色々と調べたのですが、stackOverFlowなんかではBug扱いされていて、結局初回だけ起動されないのなら、初回はViewDidLoadで設定して、ユーザの変更は2回目以降という事になるようにというのが有効な対処でした。というわけで、viewDidLoadに以下を追加。初期値を0時間1分としたかったので、こうしました。
やれやれ
NSDateComponents *yourdate = [NSDateComponents new]; [yourdate setHour:0]; [yourdate setMinute:1]; NSCalendar *cal = [NSCalendar currentCalendar]; NSDate* date = [cal dateFromComponents:yourdate]; [_datePicker setDate:date animated:YES];