如何从TextField获取实时更改



我使用标记和IB方法操作从TextField获取值。编辑后单击表视图的主体时,我可以获得值。

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

然后我有我的目标方法

@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"部分,我尝试了从"all touch events"到"didEndEditing"的多种组合,但运气不佳

我已经研究过了,我想我需要textDidChangeNotification

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

或者我还能做其他事情吗?

for: .editingChanged

愚蠢的我,这解决了它!

最新更新