I want to change the keyboard UITextInputTraits during use.
My ideal code would look something like this:
- (IBAction)nameTextDidChange:(UITextField *)sender { if ([sender.text isEqualToString:@""]) { sender.returnKeyType = UIReturnKeyDone; } else { sender.returnKeyType = UIReturnKeySearch; } }
So ... I have another "Return" button for an empty line, as I am making a line with some text. The code I wrote above does not work, the keyboard retains the original features of text input.
Any ideas, or it will never work, no matter how hard I try?
Hooray!
Nick.
Thanks to Deepak, this is the code I really used:
if ([sender.text isEqualToString:@""]) { sender.returnKeyType = UIReturnKeyDone; [sender resignFirstResponder]; [sender becomeFirstResponder]; } else if (sender.returnKeyType == UIReturnKeyDone) { NSString *cachedLetter = sender.text; sender.returnKeyType = UIReturnKeySearch; [sender resignFirstResponder]; [sender becomeFirstResponder]; sender.text = cachedLetter; }
iphone keyboard textinput
Nick cartwright
source share