We're trying to figure out how to get the keyboard to hide, but we're having problems getting the textFieldShouldReturn
to fire. Why?
This is what has been done:
*.h
@interface MultiSalesViewController : UIViewController <UITextFieldDelegate>
*.c
txtCardNumber.delegate = self;
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField setUserInteractionEnabled:YES];
[textField resignFirstResponder];
return YES;
}
Also, the textField
has its delegate set to Files Owner in Interface Builder. One odd thing, is that the viewController's - (void)textFieldDidEndEditing:(UITextField *)textField
is working.
How to get the hiding of the keyboard working?
I had the exact same issue and it was because I forgot to set the delegate for the text field in interface builder to 'files owner'.
I had the same problem and, as Warren Crowther suggested, I managed to solve it by holding down CTRL and dragging from the TextBox to the "File's Owner" label.
(Gosh, I miss Visual Studio sometimes...!!)
(Apologies for repeating what's already been said, but I thought a screenshot might be useful !)
Go to Connection Inspector and connect delegate to view controller .thats it .
I had everything wired up just right and
- (BOOL)textFieldShouldReturn:(UITextField *)textField
was still not being called!As a work around I configured a method to fire on 'EditingDidEnd':
Checklist to get it to work:
be sure that your
MultiSalesViewController
implements theUITextFieldDelegate
protocol:@interface MultiSalesViewController : UIViewController <UITextFieldDelegate>
try adding
[self becomeFirstResponder];
after[textField resignFirstResponder];
edit: just another thought.. does your
UITextField
have a value set forreturnKeyType
?txtCardNumber.returnKeyType = UIReturnKeyDone;
i'm not sure if this has to be set for the function to work