【问题标题】:How to get live changes from TextField如何从 TextField 获取实时更改
【发布时间】:2020-04-10 17:00:51
【问题描述】:

我正在使用标签和 IB 方法操作从 TextField 获取值。编辑后单击表格视图的主体可以获取值。

cell.component.tag = indexPath.row

cell.component.addTarget(self, action: #selector(handleTextViewOther(_:)), for: .editingDidEnd)

然后我就有了我的 objc 方法

 @objc func handleTextViewOther(_ sender: UITextField){

        let indexPath : IndexPath = IndexPath(item: sender.tag, section: 0)

        let cell = tableView.cellForRow(at: indexPath) as! OnlyTextCell
        if let key = cell.displayLabel.text, let val = cell.component.text{
            print ("sender \(key) Field value = \(val)")
        }
    }

按预期工作:在文本字段上输入内容后,如果我在外面按,我会得到正确的值

不起作用:如果我继续编辑并且我的注意力集中在文本字段上,并且如果我单击“提交”按钮,我不会得到最新的文本。在“for”部分,我尝试了“所有触摸事件”到“didEndEditing”的多种组合,但没有运气

我已经研究过,我认为我需要textDidChangeNotification

但在#selector(handleTextViewOther(_:)), for: .editingDidEnd for: 中不包含我正在寻找的东西。如何取悦?

或者还有什么我可以做的吗?

【问题讨论】:

  • textFieldEditingDidChange 你在找什么吗?
  • 可能,但这个选项不会出现在'for:'Type 'UIControl.Event' has no member 'textFieldEditingDidChange'

标签: ios swift events delegates uitextfield


【解决方案1】:

for: .editingChanged

我傻了,这解决了它!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2016-01-12
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多