0

我有一排供用户选择日期,我正在使用UIDatePicker来执行此操作。当用户点击它时,我希望它更改行上的一些文本并打开日期选择器。这以前UITapGestureRecognizer在我UIDatePicker的可以激活一些代码的情况下工作得很好,但是有东西破坏了它,现在我UITapGestureRecognizer根本没有被识别!

我认为可能是 iOS 15 改变了一些东西,但是查看文档我并没有真正看到任何东西。

这是我的代码的样子:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(hidePlaceholderLabel))
datePicker.addGestureRecognizer(tapGesture)

我的hidePlaceholderLabel功能永远不会运行。如何在不创建自定义日期选择器的情况下恢复此功能?

我正在使用自动布局并通过 Reveal 确认我的日期选择器确实有一个框架并且应该是可点击的。

4

2 回答 2

2

.editingDidBeginUIDatePicker. _ 当用户点击 UIDatePicker 元素以调整日期时调用此方法。对我来说,这很好用

datePicker.addTarget(self, action: #selector(hidePlaceholderLabel), for: .editingDidBegin)
于 2021-11-21T12:49:34.977 回答
0

UIDatePicker 继承自 UIControl,就像 UIButton 一样。因此,您必须添加一个addTarget方法,而不是添加轻击手势识别器:

datePicker.addTarget(self, action: #selector(hidePlaceholderLabel), for: .touchUpInside)
于 2021-10-20T01:15:37.810 回答