UIDatePicker:无法选择默认值

时间:2011-09-16 10:35:29

标签: ios cocoa-touch event-handling datepicker

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

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

问题是当用户想要选择当前(默认)日期时。必须更改值并返回默认值。这是因为日期选择器会触发 UIControlEventValueChanged 事件。我还想让用户决定是否要填写日期值(如果他只是点击带有日期选择器的视图控件外)。

如何让用户在不更改值和返回默认值的情况下选择日期选择器的默认值?

3 个答案:

答案 0 :(得分:0)

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

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

如果这些都不可接受,您是否尝试为其他控制事件设置目标操作,例如UIControlEventTouchDown / UIControlEventDragInside / UIControlEventEditingDidBegin

答案 1 :(得分:0)

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

答案 2 :(得分:0)

只需将 UIDatePicker 视图作为全局变量并尽可能分配 datePicker.date(datePicker 是全局变量)。