辞职第一响应者UITextfield

Pet*_*sen 7 ios resignfirstresponder swift

我很抱歉发布这个,因为已经被问了一百万次,但每当我尝试使用其中一个解决方案时,它要么已经过时,要么无法使用我的代码.(或者我可能只是做错了)

我有5个文本字段和一个textview,进入一个电子邮件,我试图最小化键盘,当我完成,但我不知道如何.我还尝试将它转到下一个文本字段,直到最后一个,但不需要这样做.

我很新btw.所以请特别注意:D

码:

    func textView(textView: UITextView, shouldChangeTextInRange: NSRange, replacementText text: String) -> Bool {
    if text == "\n" {
        text6.resignFirstResponder()
        return false
    }
    return true
}
func textFieldShouldReturn(textField: UITextField) -> Bool {

    if textField == self.text1 {
        self.text2.becomeFirstResponder()
    }
    else if textField == self.text2 {
        self.text3.becomeFirstResponder()
    }
    else if textField == self.text3 {
        self.text4.becomeFirstResponder()
    }

    else if textField == self.text4 {
        self.text5.becomeFirstResponder()
        self.text5.resignFirstResponder();
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

小智 9

首先你必须加入UITextFieldDelegate.h

然后在.m

yourtextfield.delegate = self
Run Code Online (Sandbox Code Playgroud)

然后应用此代码

func textFieldShouldReturn(textField: UITextField!) -> Bool 
    {
        textField.resignFirstResponder()
        return true;
    }
Run Code Online (Sandbox Code Playgroud)


dev*_*im1 6

@Peter Boesen:

完成后最小化键盘.即,当按下"返回"键时......在代码的主要部分进行注释之前,你需要x2的东西......

  1. 在您拥有的视图控制器(代码)的顶部class ViewController: UIViewController- 添加UITextFieldDelegate.所以最后看起来应该是这样的:

    class ViewController: UIViewController, UITextFieldDelegate

  2. 在func viewDidLoadadd 中的相同View Controller(代码)中self.textField.delegate = self

然后......如'Abhinandan Pratap'所述,在按下'Return'时,使用以下代码控制KeyBoard的行为:

func textFieldShouldReturn(textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
} 
Run Code Online (Sandbox Code Playgroud)

但是,如果您想通过点击屏幕上的其他位置来最小化键盘,使用"TouchesBegan"(如果您没有使用滚动视图),以下内容就足够了

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    self.view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)

如果您使用scrollView作为屏幕,则需要self.view.endEditing(true)结合使用UITapGesture以在外面敲击键盘.