【发布时间】:2011-09-17 14:01:47
【问题描述】:
如何检测用户何时点击 UIDatePicker 中的选择指示器?
如果没有这个,用户必须滚动到其他日期,然后再次返回以选择日期选择器向上滑动时显示在选择指示器下方的日期。
非常感谢,
斯汀
更新:这是我自己能想到的唯一解决方案:
UIDatePicker *aDatePicker = [[UIDatePicker alloc] init];
self.datePicker = aDatePicker;
[aDatePicker release];
[self.datePicker addTarget:self action:@selector(datePicked:) forControlEvents:UIControlEventValueChanged];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(datePicked:)];
[self.datePicker addGestureRecognizer:tap];
[tap release];
这意味着datePicked会在用户实际转动滚轮时被调用两次。
更新:上述解决方案不适用于 UIPickerViews。在这些情况下,我不知道如何实现想要的行为。
【问题讨论】:
-
感觉做不到 :( 太烦人了!
-
我真的不明白你为什么想要这个。仅仅因为
UIControlEventValueChanged操作没有针对最初设置的日期触发?为什么不直接使用日期选择器的date属性来获取初始选择?还是我完全没有抓住重点? -
+1,我完全同意@omz
-
我知道如何读取当前选择的日期,但我只对用户实际选择该日期感兴趣。
标签: iphone objective-c