Ankit
Ankit

Reputation:

Disabling Keyboard

How to Hide Keyboard by pressing Returnkey

Upvotes: 0

Views: 610

Answers (4)

k.shree
k.shree

Reputation: 119

Use these two methods:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
        activeTextField = textField;   
        return YES;
  }

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
        activeTextField = nil; 
        [txtPassword resignFirstResponder];
        [txtUserName resignFirstResponder];
        return YES;
  }

Please make sure you have given delegates to each textfields. For that you should go to the view. Right click . set the delegate to view.

Upvotes: 0

Niels Hansen
Niels Hansen

Reputation: 1546

There is a couple of things you need to remember. The number #1 part developers forget to set is the delegate of the textField.

If you are using the Interface Builder, you must remember that you need to set the delegate of the textField to the file Owner.

alt text http://www.thoughtblog.com/imgs/delegate.png

If you are not using Interface Builder then make sure you set the delegate of the textfield to self. I also include the returnType. For Example if the textField was called gameField:

gameField.delegate = self;
gameField.returnType = UIReturnKeyDone;

You must also implement the UITextFieldDelegate for your ViewController.

@interface YourViewController : UIViewController <UITextFieldDelegate> 

Finally you need to use the textFieldShouldReturn method and call [textField resignFirstResponder]

   -(BOOL) textFieldShouldReturn:(UITextField*) textField {
    [textField resignFirstResponder]; 
    return YES;
}

All your textFields will use this same method so you only need to have this setup once. As long as the delegate is set for the textField, the UITextFieldDelegate is implemented for the interface, you add the textFieldShouldReturn method and call the resignFirstResponder your set.

Upvotes: 4

Felixyz
Felixyz

Reputation: 19143

You really need to include more information with your question, but I think this might be what you are looking for:

First, make your view controller implement the UITextFieldDelegate:

@interface MainViewController : UIViewController <UITextFieldDelegate> {

Then add this method to the controller:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder]; 
    return YES;
}

Read the UITextFieldDelegate documentation to see what else you can do.

Upvotes: 2

Dave DeLong
Dave DeLong

Reputation: 243146

The keyboard only shows up when something editable (usually a UITextField) has become the first responder. Therefore, to make the keyboard go away, you have to make the textField not be the firstResponder anymore. Fortunately, it's one line of code:

[myTextField resignFirstResponder];

Upvotes: 2

Related Questions