3

我有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 很好,如果我能弄清楚它们是什么的话。

4

1 回答 1

3

至于当前的 API,没有办法检测 a 是否在UIDatePicker旋转。

这是因为UIDatePicker它不是一个子类,UIPickerView它在内部管理一个UIPickerView

恐怕这里最好的解决方案是使用自定义UIPickerView.

于 2013-04-19T23:31:02.990 回答