我已经创建了UIDatePicker并为事件UIControlEventValueChanged添加了目标。日期选择器的默认值设置为当前日期。
日期选择器显示当我点击进入文本字段。然后用户可以选择日期,点击带有日期选择器的视图控制器外部,它消失,文本字段被设置为所选日期。
问题是当用户想要选择当前(默认)日期。必须将值从默认值更改为默认值。这是因为日期选择器触发UIControlEventValueChanged事件。我还想让用户决定,如果他想填充日期值(如果他只是在视图控件外面点击日期选择器)。
怎么可能让用户选择日期选择器的默认值而不改变默认值?
您是否可以在文本字段显示后立即在文本字段中设置日期?这样,如果当前日期是用户想要的文本字段,用户就不需要做任何事情。
如果文本字段由于某种原因需要开始为空白,那么您可以在用户第一次点击文本字段时(即在您显示UIDatePicker的同时)在文本字段中显示当前日期。
如果这两个都不能接受,您是否尝试为另一个控制事件设置目标操作,例如UIControlEventTouchDown
/UIControlEventDragInside
/UIControlEventEditingDidBegin
?
添加私有成员_isDateChanged
,当UIControlEventValueChanged
事件动作调用时,设置为YES
。当弹出窗口消失时,检查_isDateChanged
是否为YES
,如果不是,触发更改动作
只需将UIDatePicker视图作为全局变量,并尽可能指定datePicker.date
(datePicker是全局变量)