hide keyboard for text field in swift programming language

后端 未结 14 1104
不思量自难忘°
不思量自难忘° 2020-11-27 17:07

I have little experience in Objective-C. I want to hide the keyboard for a text field using the Swift programming language.

I also tried this

func te         


        
14条回答
  •  伪装坚强ぢ
    2020-11-27 17:34

    Here i have solved the problem, that when keypad opens and the view gets hidden behind the keypad.... that time we need to change the UI constraints dynamically in order to make the whole view visible. In my case i am changing the bottonConstraint of the UITextField dynamically.

    So, here goes the complete code. I have one UITextView and UITextField on UIViewController to work on for just testing...

    import UIKit
    
    class ViewController: UIViewController, UITextViewDelegate, UITextFieldDelegate {
    
        @IBOutlet weak var textView: UITextField!
    
        @IBOutlet weak var textField: UITextView!
    
          /*Height Constraint for textField*/
        @IBOutlet weak var bottom: NSLayoutConstraint!
    
        var defaultHeight:CGFloat = 0.0;
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            defaultHeight = bottom.constant;
    
            NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
    
    
            NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
    
        }
    
        override func resignFirstResponder() -> Bool {
            textView.resignFirstResponder();
            textField.resignFirstResponder();
            return true;
        }
    
        override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
            resignFirstResponder()
            print("touched began")
        }
    
        func textViewDidEndEditing(textView: UITextView) {
            resignFirstResponder()
            print("text view did end editing")
        }
    
        func textViewShouldEndEditing(textView: UITextView) -> Bool {
            resignFirstResponder()
            print("text view should end editing")
            return true;
        }
    
        func textFieldShouldReturn(textField: UITextField) -> Bool {
            print("text field should return")
            resignFirstResponder()
            return true;
        }
    
        func textFieldDidEndEditing(textField: UITextField) {
            resignFirstResponder()
            print("did end editing")
        }
    
        func keyboardWillShow(notification: NSNotification) {
            print("keyboard will show.............")
            if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
                let a = keyboardSize.height;
                self.bottom.constant = a + defaultHeight;
                self.view.updateConstraints();
            }
        }
    
        func keyboardWillHide(nofication:NSNotification)
        {
            print("keyboard will hide................")
            bottom.constant = defaultHeight;
            self.view.updateConstraints();
    
        }
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }
    

提交回复
热议问题