如何以编程方式添加 touchesBegan 动作?

Posted

技术标签:

【中文标题】如何以编程方式添加 touchesBegan 动作?【英文标题】:How to add touchesBegan action programmatically? 【发布时间】:2016-01-19 02:24:06 【问题描述】:

我想添加一个代码,如果用户点击文本字段外的任何地方,键盘将关闭。所以我遇到了这个answer。但我不知道如何实现与函数 touchesBegan 的绑定,因为我以编程方式分配了所有视图组件,包括该子视图容器中的子视图容器和文本字段。怎么做?我认为这只是一行代码,但我不知道期望什么代码以及我必须使用什么词在谷歌上搜索(我试图搜索它但无法找到我的意思寻找),所以我迷路了。谢谢。

【问题讨论】:

【参考方案1】:

UIViews 的子类可以实现 touchesBegan。您应该将 touchesBegan 放在 UITextField 超级视图上。

【讨论】:

哦,但是我有 viewContainer 作为 UITextField 超级视图。并且 viewContainer 有 self.view 作为超级视图。如何在 viewContainer 上实现 touchesBegan? 没关系,当我把它放在 self.view 时它仍然有效。谢谢! 正如我所读,touchesBegan 方法可用于 UIResponder 子类。

以上是关于如何以编程方式添加 touchesBegan 动作?的主要内容,如果未能解决你的问题,请参考以下文章

在 IOS 中以编程方式设置动作侦听器

如何将 segue 标识符添加到以编程方式进行的模态转换?

如何以编程方式检查 Photoshop 画笔是不是存在

Spritekit 通过 touchesBegan 暂停和恢复 SKSpriteNode 的动作

以编程方式在Swift中添加UIBarButtonItem操作

Swift - 以编程方式创建的按钮和标签相互链接