Ios 从UITextField收集发送的事件

Ios 从UITextField收集发送的事件,ios,uitextfield,Ios,Uitextfield,我如何从一个地方的UITextField中收集已发送事件,或者我必须为我打算使用的每个事件创建出口和操作 如果我正确回答了您的问题,当UITextField失去焦点(用户点击其他位置)时,您需要从UITextField获取文本。要实现这一点,您需要: 将您的类声明为(在您的classname.h中) 文件) 在yourClassName.m文件中实现以下方法: - (void)textFieldDidEndEditing:(UITextField *)textField { NSStri

我如何从一个地方的UITextField中收集
已发送事件
,或者我必须为我打算使用的每个事件创建出口和操作


如果我正确回答了您的问题,当UITextField失去焦点(用户点击其他位置)时,您需要从UITextField获取文本。要实现这一点,您需要:

  • 将您的类声明为(在您的classname.h中) 文件)
  • 在yourClassName.m文件中实现以下方法:

    - (void)textFieldDidEndEditing:(UITextField *)textField {
        NSString *someStringOrWhateverYouNeed = textField.text;   
    }
    
  • 每当用户按下键盘上的返回按钮时,您的类将收到通知并调用此方法

    如果您需要从多个UITextFields收集事件,您可以使用特定标记标记所有textField,并创建一个iAction,如下所示:

    - (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;
        }
    }
    
    对于不同的事件类型,我可以建议创建不同的iAction。如果您不需要更改UITextField的属性(例如字体等),那么您实际上不需要IBOutlets


    希望有帮助:)

    使用相同的名称进行另一个iAction连接。然后删除复制方法。这两个文本字段将连接到同一个iAction方法。

    谢谢您的评论。我最感兴趣的是如何在不创建IBAction的情况下处理不同的事件类型,但我知道没有解决方法,我必须创建所有这些IBAction?IBAction是处理控件事件的唯一正确方法:)