我有一个视图,上面有多个动态创建的 UITextfields 和 UISegmented 控件(但就这个问题而言,也可能有 UIButtons、UISwitches、UISliders 或任何其他从 UIControl 继承的东西)。每当用户完成与任何控件的交互时,我都想执行一个动作,而不管它属于哪个控件子类。通过查看其他问题,我想我想在addTarget:action:forControlEvents:
创建每个控件后使用它们来添加观察者,但我不知道我在寻找哪个事件。我已经尝试了此处 Apple Docs中列出的所有似乎相关的内容,但似乎没有一个每次都被触发。我正在寻找类似.LostFocus
VBA 的东西,但我似乎无法找出那是什么 - 我知道有一个becomeFirstResponder
使控件处于活动状态的方法,但我找不到像“lostFirstResponder”事件这样的东西。
我想我可以用isKindOfClass
它来判断它是什么类型的控件,并相应地设置我的事件,但这似乎有点草率,我觉得应该有更直接的方法来做到这一点。我也可以设置一个 UITapGestureRecognizer 并以这种方式构建一些东西,但这仍然感觉像是一种解决方法,而不是它应该完成的方式。