找到了这段代码,将“ Done”按钮插入了十进制键盘,只要我不像下面这段代码那样对按钮使用自定义视图,它就可以工作:
extension UITextField {
func makeKeyboardToolBar(title: String) {
let keyboardToolBar = UIToolbar()
keyboardToolBar.sizeToFit()
let flexibleSpace = UIBarButtonItem(barButtonSystemItem:
UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
let bimage = UIImageView(image: UIImage(named: "icon_plus_50"))
let doneButton = UIBarButtonItem(title: title, style: UIBarButtonItem.Style.done, target: self, action: #selector(self.doneClicked))
doneButton.customView = bimage
keyboardToolBar.setItems([flexibleSpace, doneButton], animated: true)
self.inputAccessoryView = keyboardToolBar
}
@objc func doneClicked() {
self.endEditing(true)
}
}
图像出现,但没有反应。请勿设置自定义视图,而是显示“ title”,并在适当时完成doneClicked响应。 有类似的问题,但很不高兴。客观... 任何帮助表示赞赏。
答案 0 :(得分:1)
请勿创建或使用UIImageView
。只需使用图片创建UIBarButtonItem
。
let doneButton = UIBarButtonItem(image: UIImage(named: "icon_plus_50"), style: .plain, target: self, action: #selector(doneClicked))
无需设置customView
。