swift - 完成按钮使应用程序崩溃

标签 swift

我想要一种在我输入 UITextField 时关闭键盘的方法。我在谷歌上查了一下,在 Medium 上找到了这个:

https://medium.com/@KaushElsewhere/how-to-dismiss-keyboard-in-a-view-controller-of-ios-3b1bfe973ad1

每次我按下完成按钮时,应用程序都会崩溃。任何帮助将不胜感激。

代码:

override func viewDidLoad() {
   super.viewDidLoad()
   //init toolbar
   let toolbar:UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0,  width: self.view.frame.size.width, height: 30))
   //create left side empty space so that done button set on right side
   let flexSpace = UIBarButtonItem(barButtonSystemItem:    .flexibleSpace, target: nil, action: nil)
   let doneBtn: UIBarButtonItem = UIBarButtonItem(title: “Done”, style: .done, target: self, action: Selector(“doneButtonAction”))
   toolbar.setItems([flexSpace, doneBtn], animated: false)
   toolbar.sizeToFit()
   //setting toolbar as inputAccessoryView
   self.textField1.inputAccessoryView = toolbar
   self.textField2.inputAccessoryView = toolbar
}
func doneButtonAction() {
   self.view.endEditing(true)
}

最佳答案

您需要将 @objc 添加到您的 doneButtonAction 函数中,因为这就是它崩溃的原因。并使用 #selector 而不是 Selector。

override func viewDidLoad() {
    super.viewDidLoad()
    //init toolbar
    let toolbar:UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0,  width: 
    self.view.frame.size.width, height: 30))
    //create left side empty space so that done button set on right side
    let flexSpace = UIBarButtonItem(barButtonSystemItem:    .flexibleSpace, target: nil, action: nil)
    let doneBtn: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(doneButtonAction))
    toolbar.setItems([flexSpace, doneBtn], animated: false)
    toolbar.sizeToFit()
    //setting toolbar as inputAccessoryView
    self.textField1.inputAccessoryView = toolbar
    self.textField2.inputAccessoryView = toolbar
}

@objc func doneButtonAction() {
    self.view.endEditing(true)
}

关于swift - 完成按钮使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51144341/

相关文章:

swift - var Double 类型 swift 崩溃

ios - 调用时未在 map View 上显示注释

ios - 在 swift 4 中比较 Day from Date 的问题

swift - ios13 tls证书问题-连接错误

swift - 检查是否正在使用音频输入设备 (macOS) (Swift)

ios - Apple Watch 不显示任何图像

swift - 如何检查实例是否为枚举类型

ios - 点击/向后滑动时图像与之前的 View 重叠

ios - 将 txt 文件读入 iOS 应用程序时出错

Swift 3泛型函数不明确返回