我有UIDatePicker
一个视图,其控制器位于UINavigationController
. 我正在注册所选日期的更改,如下所示:
[self.datePicker addTarget:self.alarm action:@selector(timeChanged:) forControlEvents:UIControlEventValueChanged];
它运行良好,除非用户在UINavigationController
日期选择器完全确定之前按下后退按钮。在这种情况下,该timeChanged:
方法没有被调用,所以我没有得到新的日期。
当我按下后退按钮时,什么都没有释放,只是视图控制器被弹出了。(保留对它的引用)。
我找到了解决这个问题的UIPickerView
方法,涉及为选择器视图实现委托方法(例如:UIPickerView: Get row value while spin?)。但除非我弄错了,否则这不是UIDatePicker
. 如果可能的话,我想坚持使用UIDatePicker
而不是 custom UIPickerView
。有没有办法做到这一点?它不必完美地获得选定的行(在一两行内就可以了),但越接近越好。
编辑:这是一个越狱应用程序,所以私有 API 很好,如果我能弄清楚它们是什么的话。