问题描述
我创建了一个配置简单的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()