代码之家  ›  专栏  ›  技术社区  ›  Cocoa Dev

如何创建或分配代理?

  •  3
  • Cocoa Dev  · 技术社区  · 15 年前

    我如何成为代表?我有一个叫Customsign的班。类有一个与其关联的视图。视图有2个元素。文本字段和uilabel。单击“完成”按钮时,我想将文本字段数据复制到uilabel。

    这是我在customsign.m中的代码。 我不知道如何让它成为代表。

    -(void)textFieldDidEndEditing:(UITextField *)textField {
        [textField resignFirstResponder];
        label.text = textField.text;
    }
    
    1 回复  |  直到 15 年前
        1
  •  7
  •   Rob Keniger    15 年前

    您需要对您的 CustomSign.m 文件。这可以是一个出口,然后在InterfaceBuilder中连接,也可以直接存储对文本字段的引用(如果您是以编程方式创建的)。

    然后打电话给 -setDelegate: 将对象指定为代理的文本字段的方法:

    //in CustomSign.m
    - (void)awakeFromNib
    {
        //assume textField is an ivar that is connected to the textfield in IB
        [textField setDelegate:self];
    }
    

    还可以通过控制从文本字段拖动到对象来设置界面生成器中文本字段的委托。

    注意不要打电话 -resignFirstResponder 你自己。