代码之家  ›  专栏  ›  技术社区  ›  pankaj

获取在uitextfield中更改的文本

  •  0
  • pankaj  · 技术社区  · 15 年前

    当用户按下任何键时,我需要从文本字段中获取文本。我正在尝试使用通知uitextfieldTextDidChangeNotification获取文本,但无法成功。如何在更改时从texfield获取文本?我在UITableView中有文本字段。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Community Mohan Dere    8 年前

    最简单的方法是使用 AtomRiots answer . 毕竟,从文本字段中获取文本是文本字段委托的目的。您可以为界面中的每个文本字段(甚至是表中的字段)设置不同的委托对象。

    如果出于某种原因,您想要一个任意的对象来处理文本更改,那么您可以为通知注册该对象(self)。

    如果要侦听来自所有文本字段的所有UItextfieldTextDiChangeNotification,请执行以下操作:

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleTextDidChange:)
                                                 name:UITextFieldTextDidChangeNotification 
                                               object:nil];
    

    如果要侦听特定字段的所有通知

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleTextDidChange:)
                                                 name:UITextFieldTextDidChangeNotification
                                               object:aPointerToATextFieldObj];
    
        2
  •  0
  •   AtomRiot    15 年前

    你可以使用

    - (void)textFieldDidBeginEditing:(UITextField *)textField
    

    当他们开始编辑的时候,或者这个

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    

    每次他们按键盘上的一个键,或者

    - (void)textFieldDidEndEditing:(UITextField *)textField
    

    当textView第一个响应程序退出时。

    通过在填充TableView时分配标记,可以跟踪单个文本字段,然后您将知道正在更改哪个文本字段。