UITextField选择器函数未调用iOS Swift

问题描述

我创建了一个配置简单的textField,但由于某种原因而不会调用我的动作函数(不知道为什么我的断点不会被击中)

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)
,

这是新的Xcode和swift的更新。每当您有addSubview()时,将其替换为contentView.addSubview()