gpt4 book ai didi

ios - 当用户仅点击 UITableView 的某些区域时,需要关闭出现的键盘

转载 作者:行者123 更新时间:2023-11-30 11:59:25 25 4
gpt4 key购买 nike

我有一个项目,其中有一个 UITableView,其中包含三个不同的单元格和两个部分:第 0 部分有一个包含 UILabel 的单元格,第 1 部分有两个单元格,每个单元格包含一个 UITextField。当用户从第二部分中的任一单元格中选择 UITextField 时,就会出现键盘。这可以。但是,我想做的是,当用户按下第 0 节中的单元格(这也会将用户带到另一个屏幕)、按下 UITableView 的 footerView 或完全按下 UITableView 外部时,关闭键盘。我现在的问题是,我可以关闭键盘,但第一个单元格不会根据需要将用户带到下一个屏幕。这是我的代码:

    func hideKeyboard() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(
target: self,
action: #selector(MyViewController.dismissKeyboard))

view.addGestureRecognizer(tap)
}

@objc func dismissKeyboard() {
view.endEditing(true)
}

此方法从 viewDidLoad() 调用,如 self.hideKeyboard()。我意识到在我的代码中,我将 tapGesture 分配给父 View ,这会禁用 UITableView 上的点击手势,但我想知道如何解决这个问题以实现我上面提到的所需解决方案?

最佳答案

因此,您希望根据 3 个不同区域中的点击来关闭键盘。

  1. 第 0 部分中的任一单元格:子类化 UITableViewCell 并创建您的自定义单元格(如果您还没有)。然后,将 UITapGestureRecognizer 添加到自定义单元格的 contentView 以关闭键盘。
  2. tableView 的页脚 View :再次向此自定义页脚 View 添加点击手势识别器。
  3. 完全在 UITableView 之外:如果您确实指的是不在 UITableView 中的任何区域,则创建一个 UIView,将其添加到您的 View Controller 并使用view.sendSubviewToBack 将此自定义 View 发送到 TableView 后面。然后,再次添加点击手势识别器以关闭键盘。

关于ios - 当用户仅点击 UITableView 的某些区域时,需要关闭出现的键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47442998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com