【发布时间】: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