Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone how to get UITextField's text while typing?

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!

like image 789
Alex Stone Avatar asked Apr 28 '12 13:04

Alex Stone


People also ask

What is Uitextfield?

An object that displays an editable text area in your interface.

What is a text field on Iphone?

A text field is a rectangular area in which people enter or edit small, specific pieces of text.


2 Answers

  1. First add one UITextField and UILabel to storyboard / nib
  2. Now assign IBOutlet for UILabel (Here I have used myLabel)
  3. Assign UITextFieldDelegate to file owner, also implement the same delegate in .h file
  4. Use 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.

like image 137
Mrunal Avatar answered Sep 22 '22 15:09

Mrunal


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.

like image 36
Fabs Avatar answered Sep 20 '22 15:09

Fabs