コントローラがUIDatePicker
にあるビューに がありUINavigationController
ます。次のように、選択した日付の変更を登録しています。
[self.datePicker addTarget:self.alarm action:@selector(timeChanged:) forControlEvents:UIControlEventValueChanged];
UINavigationController
日付ピッカーが完全に落ち着く前にユーザーが戻るボタンを押した場合を除いて、これはうまく機能します。その場合、timeChanged:
メソッドは呼び出されていないため、新しい日付を取得していません。
戻るボタンを押しても何も解放されません。ビュー コントローラーが外れているだけです。(それへの参照は維持されます)。
この問題の解決策にUIPickerView
は、ピッカー ビューのデリゲート メソッドの実装が含まれます (例: UIPickerView: Get row value while spin? )。しかし、私が非常に間違っていない限り、それはUIDatePicker
. UIDatePicker
可能であれば、カスタムではなくに固執したいと思いますUIPickerView
。これを行う方法はありますか?選択した行を完全に取得する必要はありません (1 行または 2 行以内で問題ありません) が、近いほど良いです。
編集:これは脱獄アプリ用であるため、プライベート API が何であるかを理解できれば問題ありません。