首页 > 解决方案 > 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)
}

标签: iosswiftuitextfield

解决方案


选择器可能格式错误。尝试替换此行:

textField.addTarget(self, action: #selector(handleUpdateUseerInfo), for: .editingDidEnd)

有了这个:

textField.addTarget(self, action: #selector(handleUpdateUseerInfo(sender:)), for: .editingDidEnd)

推荐阅读