ios - 触摸屏幕时如何在 Swift 中关闭键盘

标签 ios swift uiscrollview keyboard dismiss

<分区>

我一直在尝试在触摸键盘时关闭键盘。我发现一段代码似乎(某种程度上)有效,但只有在我不接触任何其他类型的 View 时它才有效。我的意思是,我有一个 ScrollView 占据了大部分屏幕。如果我点击 ScrollView ,它会消失,但如果我点击 ScrollView 上的任何地方,什么也不会发生。这是我正在使用的代码段。任何帮助将非常感激。

  override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)
}

最佳答案

你可以试试

let singleTap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
singleTap.numberOfTapsRequired = 1
scrollView.addGestureRecognizer(singleTap)

//

@objc func handleTap(_ recognizer: UITapGestureRecognizer) {
    self.view.endEditing(true)
}

关于ios - 触摸屏幕时如何在 Swift 中关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50594032/

相关文章:

iOS:使用 UIModalPresentationStyle.OverCurrentContext 时检测 dismissViewControllerAnimated

ios - UICollectionViewController : [UICollectionViewController loadView] loaded the "identifier" nib but didn't get a UICollectionView

ios - 是否可以在 Swift 中为生成的 PDF 添加密码?

ios - 高度不明确的 UIView

swift - UIScrollView滚动条的宽度和高度?

ios - Storyboard中带有 PageControl 的 ScrollView

ios - QBChatDelegate-chatDidReceiveMessage : getting called but dialogID is NULL

ios - 如何在 UIDocumentPickerViewController 中更新框架大小的样式

ios - 当在其他 UIBarButtonItem 中使用相同的 subview 时,我在 UIBarButtonItem 中的 customView 的 subview 消失

ios - UIScrollView 标题 View ?