UIDatePicker开始使用时的操作

时间:2017-02-27 17:55:51

标签: ios swift uidatepicker

我想在用户开始更改UIDatePicker的值时触发操作。我的第一直觉是使用datePickerEditingDidBegin方法,但似乎没有做到这一点。

2 个答案:

答案 0 :(得分:0)

直接来自文档:

UIDatePicker: Responding to User Interaction

  

日期选择器使用Target-Action设计模式来通知您的应用   当用户更改所选日期时。要在日期时收到通知   选择器的值更改,注册您的操作方法   valueChanged事件。在运行时,日期选择器调用您的方法   响应用户选择日期或时间。

     

您连接日期   使用addTarget(_:action:for :)方法选择你的action方法   或者在Interface Builder中创建连接。签名   action方法采用清单1中列出的三种形式之一。   选择提供您需要回复的信息的表单   到日期选择器中的值更改。

     

清单1日期选择器的操作方法

@IBAction func doSomething()
@IBAction func doSomething(sender: UIDatePicker)
@IBAction func doSomething(sender: UIDatePicker, forEvent event: UIEvent)

将日期选择器valueChanged发送事件连接到IBAction

enter image description here

修改

根据文档,UIDatePicker没有任何委托方法,因此datePickerEditingDidBegin之类的内容没有任何意义。

您必须使用UIControlEvent。如果valueChanged不适合您的需求,我可能会建议touchDragInside

  

手指在控件范围内拖动的事件。

位于here in the docs的其他UIControlEvent说明。

答案 1 :(得分:0)

这对我也不起作用,我尝试了上面所有的 UIEvent。我能够通过添加一个平移手势识别器来实现这一点,符合委托和 shouldRecognizeSimultaneouslyWith(: ) = true 。在此处查看答案:https://stackoverflow.com/a/25719326/4970749