从UITextField收集发送的事件

时间:2012-04-28 22:15:48

标签: ios uitextfield

我如何在一个地方从UITextField收集sent events,或者我是否被迫为我打算使用的每一个事件创建出口和行动?

enter image description here

2 个答案:

答案 0 :(得分:1)

如果我正确地得到了您的问题,那么当UITextField松散焦点(用户点击其他地方)时,您需要从UITextField获取文本。为此,您需要:

  1. 将您的类声明为(在yourClassName.h中 文件)
  2. 在yourClassName.m文件中实现此方法:

    - (void)textFieldDidEndEditing:(UITextField *)textField {
        NSString *someStringOrWhateverYouNeed = textField.text;   
    }
    
  3. 任何时候用户按下键盘上的返回按钮,您的课程都会收到通知并调用此方法。

    如果您需要从多个UITextField收集事件,您可以使用特定标记标记所有textField,并创建一个这样的IBAction:

    - (IBAction)getTextFieldEvent:(id)sender {
        UITextField *currentTextField = (UITextField *)sender;
        switch (currentTextField.tag) {
            case 1:
                // some code here for textField with tag = 1
                break;
            case 2:
                // some code here for textField with tag = 2
                break;
            case 3:
                // some code here for textField with tag = 3
                break;
            default:
                // some default code here
                break;
        }
    }
    

    对于不同的事件类型,我可以建议创建不同的IBAction。如果您不需要更改UITextField的属性(例如字体等),那么您实际上并不需要IBOutlets。

    希望有所帮助:)

答案 1 :(得分:0)

使用相同名称执行另一个IBAction连接。然后删除重复的方法。两个文本字段都将连接到相同的IBAction方法。