2011-09-16 64 views
4

我创建了UIDatePicker并添加了事件目标UIControlEventValueChanged。日期选择器的默认值设置为当前日期。UIDatePicker:无法选择默认值

当我点击文本字段时显示日期选择器。然后用户可以选择日期,使用日期选择器在视图控制器外单击,它会消失,文本字段将设置为选定日期。

问题是用户想要选择当前(默认)日期。有必要将值从和改回到默认值。这是因为日期选择器触发了UIControlEventValueChanged事件。我还想让用户决定是否要填写日期值(如果他只是用日期选择器在视图控件外单击)。

如何让用户选择日期选择器的默认值而不更改值并返回到默认值?

回答

0

只要显示文本字段,是否可以在文本字段中设置日期?这样,如果当前日期在文本字段中是他们想要的,那么用户不需要做任何事情。

如果由于某种原因,文本字段需要空白,那么只要用户第一次点击它(即在显示UIDatePicker的同时),就可以在文本字段中显示当前日期。

如果这两个都不可接受,您是否尝试设置另一个控件事件的目标操作,如UIControlEventTouchDown/UIControlEventDragInside/UIControlEventEditingDidBegin

+0

你的建议是好的,但我宁愿添加按钮来确认选定的日期并隐藏弹出控制器与UIDatePicker –

0

添加一个名为_isDateChanged的私人成员,当调用UIControlEventValueChanged事件操作时,将其设置为YES。当Popover消失时,检查_isDateChanged是否为YES,如果不是,则触发更改操作。