关闭键盘但也允许 iOS Swift 中的其他操作?

Posted

技术标签:

【中文标题】关闭键盘但也允许 iOS Swift 中的其他操作?【英文标题】:Dismiss keyboard but also allow other actions in iOS Swift? 【发布时间】:2016-07-19 19:23:11 【问题描述】:

我在一个 ios 应用程序中有一个选项卡,它显示一个表格视图,还有一个键盘可以让您添加更多内容。我想要一种设置手势识别器的方法,这样如果您单击空白区域的任意位置,它将关闭键盘,但是,如果您单击图像或任何有内容的东西,它仍然允许这些操作。

当我设置手势点击识别器时,它似乎接管了所有事件,虽然它关闭了键盘,但当我点击图像时,这些操作都没有解决。有任何想法吗?我正在使用 Swift。

【问题讨论】:

您能否在 Tapgesturerecognizer 中向我们展示一些代码,您为什么不将其设置为 self.view,这样如果按下图像,它就不是视图本身 在控制器视图上实现touchesBegan,并在其中调用endEditing(true)。或者使用点击识别器,在它的委托中你可以决定它什么时候应该接收触摸。 请参考这个网址 :: dismiss-keyboard-on-touch-anywhere-outside-uitextfield 【参考方案1】:

viewDidLoad() 中添加这个对我有用(Swift 3):

let tap = UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:)))
tap.cancelsTouchesInView = false
self.view.addGestureRecognizer(tap)

【讨论】:

以上是关于关闭键盘但也允许 iOS Swift 中的其他操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 texbox 中只允许数字,但也允许使用法语键盘输入

Swift/iOS8:只允许某些键盘

IOS – 在 Swift 中处理 OnetimeCode

NavController 中的滚动视图在显示键盘后不会重置(Swift)

如何在swift ui watch os中的同一屏幕中添加键盘和文本字段[关闭]

iOS Swift:闭包(回调)与委托,何时使用? [关闭]