gpt4 book ai didi

ios - 在没有 Storyboard 的情况下以编程方式在 UITextField 上调用 resignFirstResponder

转载 作者:可可西里 更新时间:2023-11-01 00:54:16 26 4
gpt4 key购买 nike

我有一个带有 UITextField 的自定义 UITableViewCell,它在自定义类中有变量。我没有使用 Storyboard,所以我没有导出;我正在以编程方式执行此操作。

我在我的 UIViewController 中使用 textFieldDidEndEditing 来获取用户提供的值。

    public func textFieldDidEndEditing(_ textField: UITextField)
{
print("textvalue=\(textField.text!)")
}

但是,如果点击导航栏按钮,则不会调用 textFieldDidEndEditing。我通常知道如果我的 UIViewController 上有一个 socket 和一个文本字段变量,我可以使用 resignFirstResponder 这可能会导致 textFieldDidEndEditing 被调用,但正如我所说,我不是使用导出/ Storyboard。

我的文本字段的 UIViewController 上没有这个变量,所以我没有任何东西可以调用 resignFirstResponder

我想我可以在我的自定义 UITableViewCell 中调用 resignFirstResponder,但我无法访问我的模型。

最佳答案

可以通过使用诸如 tags 之类的标识符来识别您的文本字段。和 accessibility来自 UITableViewDelegate然后使用可以使用,

设置delegate

中创建单元格时
  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
cell.txtField.delegate = self

}

// then it will be called UITextFieldDelegate

public func textFieldDidEndEditing(_ textField: UITextField)
{

}

或者您可以按照 subviews 的层次结构使用:

self.view.endEditing(true)

关于ios - 在没有 Storyboard 的情况下以编程方式在 UITextField 上调用 resignFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54382017/

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