2

私は自分のアプリでUIApplicationSignificantTimeChangeNotificationを処理しています。アプリの他のすべての画面は、真夜中になると正常に更新されます。私が問題を抱えているのはUIDatePickerです。UIPickerViewには、深夜の変更を更新するために別の画面で使用する refreshAllComponents メソッドがありますUIDatePickerについても同じにしたいのですが、残念ながらそれを更新する方法が見つかりませんでした.TodayTodayのままですが、すでにYesterdayです。方法はありますか?

4

3 に答える 3

2

UIDatePicker を新しいインスタンスに置き換えてみませんか?

UIDatePicker *oldPicker = self.myDatePicker;
UIDatePicker *newPicker = [[UIDatePicker alloc] initWithFrame:oldPicker.frame];
[newPicker setDate:oldPicker.date animated:NO];
[[oldPicker superview] addSubview:newPicker];
[oldPicker removeFromSuperview];
self.myDatePicker = newPicker;
[newPicker release];

上記のコードは oldPicker を newPicker に交換し、設定をコピーするので、誰も変更に気付かないでしょう。ピッカー ビューへの他の参照がある場合は、それらも更新する必要があります。

于 2011-05-03T02:43:09.707 に答える
0

これはかなり古いトピックですが、Google で見つけたように、他の人も同様です。私のために働いたもの:

[datePicker becomeFirstResponder];
[datePicker reloadInputViews]; 
于 2012-07-11T16:33:55.963 に答える