I'm trying to show changes made to a UITextField
on a separate UILabel
. Is there a way to capture full text of the UITextField
after each character the user types in? Currently I'm using this method, but it does not capture the last character that the user has entered.
I know that UITextView
has "didChange" method, but I could not find that method for a UITextField
.
//does not capture the last character -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { [self updateTextLabelsWithText: textField.text]; return YES; }
How can I take text out of UITextField after each character entered?
Thank you!
An object that displays an editable text area in your interface.
A text field is a rectangular area in which people enter or edit small, specific pieces of text.
UITextField
and UILabel
to storyboard / nibIBOutlet
for UILabel
(Here I have used myLabel)UITextFieldDelegate
to file owner, also implement the same delegate in .h fileUse these lines of code:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string]; [self updateTextLabelsWithText: newString]; return YES; } -(void)updateTextLabelsWithText:(NSString *)string { [myLabel setText:string]; }
Hope this helps.
Simply handle the "Editing Changed" event
[textField addTarget:self action:@selector(editingChanged:) forControlEvents:UIControlEventEditingChanged];
and the selector:
-(void) editingChanged:(id)sender { // your code }
You can do this manually, or with the storyboard by CTRL-Dragging the "Editing changed" Sent event to your .h, creating the editingChanged method for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With