ios - donePicker 无法识别的选择器发送到实例 UiTextField
问题描述
我只是在键盘上添加一个完成的工具栏UiTextField
点击完成后,我面临
unrecognized selector sent to instance
错误:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
self.addDoneButtonOnKeyboard()
}
@IBOutlet weak var betTextField: UITextField!
func addDoneButtonOnKeyboard(){
let doneToolbar: UIToolbar = UIToolbar(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50))
doneToolbar.barStyle = .default
let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(BetViewController.doneAction))
let items = [flexSpace, done]
doneToolbar.items = items
doneToolbar.sizeToFit()
betTextField.inputAccessoryView = doneToolbar
}
@objc func doneAction() {
betTextField.resignFirstResponder()
}
由BetViewController
StoryBoardID 添加。
我错过了什么?
错误信息 :
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Bet.BetViewController betTexField:]: unrecognized selector sent to instance 0x7ffa0c860e00'
terminating with uncaught exception of type NSException
CoreSimulator 732.18.6 - Device: iPhone 12 Pro Max (4549AD60-8D64-44E7-B2D6-C347655A1DA6) - Runtime: iOS 14.3 (18C61) - DeviceType: iPhone 12 Pro Max
解决方案
在 StoryBoard 中,我刚刚删除了一个未使用的已发送事件“Editing Did End”。
不再与 Done ToolBar 发生冲突。
推荐阅读
- javascript - 将变量放入 a href 标记
- python - Python 3.7.1 尝试除了在命令行中以错误顺序发生的块
- go - 如何强制客户端使用 http/2?(而不是回退到 http 1.1)
- php - 如何将数据从excel上传并保存到数据库?
- c++ - 重新排列拆分字符串的顺序并放入变量中
- android - 为什么 SVG 文件中的文本属性在资产导入时不会出现在 Android Studio 矢量资产 XML 中
- java - 向尤里卡休息服务端点发送多部分文件请求的异常
- python - 部分 tensorflow 代码不能通过 Go To Declaration 定向到
- java - 如何在保持 Java 代码机密的同时将 HTML/CSS/JS 委托给某人?
- publish - 发布 nopcommerce 3.80 新代码时出现 DLL 错误