iPhone如何在input时获取UITextField的文本?
我试图在单独的UILabel上显示对UITextField所做的更改。 有没有办法在用户input每个字符后捕获UITextField全文? 目前我正在使用这种方法,但它不捕获用户input的最后一个字符。 
 我知道UITextView有“didChange”方法,但我找不到UITextField方法。 
 //does not capture the last character -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { [self updateTextLabelsWithText: textField.text]; return YES; } 
每个字符input后,如何从UITextField中取出文本?
谢谢!
-  首先添加一个UITextField和UILabel到故事板/笔尖
-  现在为UILabel分配IBOutlet(这里我使用了myLabel )
-  将UITextFieldDelegate分配给文件所有者,也在.h文件中实现相同的代理
- 
使用这些代码行: - (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]; }
希望这可以帮助。
只需处理“编辑已更改”事件
 [textField addTarget:self action:@selector(editingChanged:) forControlEvents:UIControlEventEditingChanged]; 
和select器:
 -(void) editingChanged:(id)sender { // your code } 
您可以手动执行此操作,也可以通过CTRL-将“编辑已更改”发送事件拖放到.h,为您创buildeditingChanged方法。
在Swift 2.0+中
  class CheckInViewController: UIViewController, UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() yourTextField.delegate = self } func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { var updatedTextString : NSString = textField.text as NSString updatedTextString = updatedTextString.stringByReplacingCharactersInRange(range, withString: string) self.methodYouWantToCallWithUpdatedString(updatedTextString) return true } } 
希望它能帮助你迅速的开拓者
使用addTarget Swift 2.0+进行Swift
  titleTextField.addTarget(self, action: #selector(textFieldTyping), forControlEvents: .EditingChanged) 
 并实现selector 
 func textFieldTyping(textField:UITextField) { //Typing } 
在Swift 3.0中:
其中一些解决scheme是一个字符落后,或者Swift和Obj-C的早期版本。 这是我用于Swift 3.0的
在课堂上,我宣布了一个占位符来存储文本。
 var tempName = "" 
在ViewDidLoad我使用:
 nameField.addTarget(self, action: #selector(typingName), for: .editingChanged) 
然后我做了一个叫做:
  func typingName(textField:UITextField){ if let typedText = textField.text { tempName = typedText print(tempName) } }