ios - UITextField 选择器函数没有被调用 iOS Swift
问题描述
我创建了一个配置简单的 textField,但由于某种原因不知道为什么不会调用我的操作函数(即我的断点甚至不会被命中)
文本字段代码:
lazy var inputField: UITextField = {
let textField = UITextField()
textField.borderStyle = .none
textField.font = UIFont.systemFont(ofSize: 16)
let paddingView = UIView()
paddingView.setDimensions(height: 50, width: 28)
textField.leftView = paddingView
textField.leftViewMode = .always
textField.addTarget(self, action: #selector(handleUpdateUseerInfo), for: .editingDidEnd)
return textField
}()
动作函数代码:
@objc
func handleUpdateUseerInfo(sender: UITextField) {
guard let valeu = sender.text else { return }
delegate?.settingsCell(self, wantsToUpdateUserWith: valeu, for: viewModel.section)
}
解决方案
选择器可能格式错误。尝试替换此行:
textField.addTarget(self, action: #selector(handleUpdateUseerInfo), for: .editingDidEnd)
有了这个:
textField.addTarget(self, action: #selector(handleUpdateUseerInfo(sender:)), for: .editingDidEnd)
推荐阅读
- javascript - Javascript 中的表单验证脚本
- php - Tinymce wiris 插件图像模式问题
- sql - SQL 表中的公共记录
- c++ - 缺少类型说明符 - 假定为 int。注意 c++ 不支持 default-int
- python - 自定义 Alexa 技能 ExampleSkillIntentHandler 被正确触发,但得到“抱歉,我在执行您要求的操作时遇到问题。请重试。”
- sql - 使用 sql 查询对表行重新排序
- python - 正则表达式使用正则表达式中的变量在列中搜索单词,返回匹配的单词和变量名
- python - 使用 to_sql() 时参数“fast_executemany”无效
- alias - 别名不在 sunos 服务器上运行
- neo4j - Neo4j 留言簿 | 即席密码查询