Ios 要删除的键盘代码已设置,但仍不工作?

Ios 要删除的键盘代码已设置,但仍不工作?,ios,swift,Ios,Swift,我已经做了所有我想做的事情,但是当我运行这个代码时,键盘出现了,但仍然不会在点击或返回按钮时消失。有人能帮我吗 class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet var Label: UILabel! @IBOutlet var Label2: UILabel! @IBOutlet weak var textField: UITextField! override fu

我已经做了所有我想做的事情,但是当我运行这个代码时,键盘出现了,但仍然不会在点击或返回按钮时消失。有人能帮我吗

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet var Label: UILabel!
    @IBOutlet var Label2: UILabel!
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.textField.delegate = self          
    }        

    //Hide keyboard when user touches outside keyboard
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        self.view.endEditing(true)
    }

    //Presses return key
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return(true)
    }
}
类ViewController:UIViewController、UIExtFieldDelegate{
@IBVAR标签:UILabel!
@IBVAR标签2:UILabel!
@IBOutlet弱var textField:UITextField!
重写func viewDidLoad(){
super.viewDidLoad()
self.textField.delegate=self
}        
//当用户触摸键盘外部时隐藏键盘
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
self.view.endEditing(true)
}
//按回车键
func textField应该返回(textField:UITextField)->Bool{
textField.resignFirstResponder()辞职
返回(真)
}
}

无法在评论中显示图像,因此我创建了一个答案。我能够用很少的努力使它工作。我添加了一个控制器,添加了自定义类,outlets,并且几乎添加了您的精确代码。有时我忘记添加自定义类。也许就是这样


最好不要使用
触摸开始
。有一种方法肯定会奏效:

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var Label: UILabel!
    @IBOutlet var Label2: UILabel!
    @IBOutlet weak var textField: UITextField!


    override func viewDidLoad() {
        super.viewDidLoad()
        self.textField.delegate = self

        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(ViewController.didTapBackground))
        tapGestureRecognizer.cancelsTouchesInView = false
        self.view.isUserInteractionEnabled = true
        self.view.addGestureRecognizer(tapGestureRecognizer)
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func didTapBackground() {
        view.endEditing(true)
    }

    //Presses return key

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return(true)
    }

}

请注意,我还将
cancelTouchesInView
设置为
false
,以使其他按钮或UITapgestureRecognitors能够正确执行其工作。

对我很有用。是否确实已在属性编辑器(假设为情节提要)的ViewController自定义类字段中将此ViewController指定给您的视图?@ptoinson您的意思是什么?@ptoinson是的,它已链接到此视图控制器。您是否有任何其他原因可能导致它无法工作?请在您的呼叫上设置一个断点以退出第一响应者。确实有人叫它吗?@Fogmeister你什么意思?