如何创建或分配代理?

时间:2010-04-21 03:04:18

标签: objective-c uikit delegates uitextfield uilabel

我如何成为代表?我有一个名为CustomSign的类。该类有一个与之关联的视图。该视图有2个元素。一个文本域和一个uilabel。我想在单击完成按钮时将文本字段数据复制到uilabel。

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

-(void)textFieldDidEndEditing:(UITextField *)textField {
    [textField resignFirstResponder];
    label.text = textField.text;
}

1 个答案:

答案 0 :(得分:7)

您需要引用CustomSign.m文件中的文本字段。这可以是您在Interface Builder中连接的插座,也可以直接存储对文本字段的引用,如果您以编程方式创建它。

然后调用文本字段的-setDelegate:方法将对象指定为委托:

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

您还可以通过控制从文本字段拖动到对象来设置Interface Builder中文本字段的委托。

请注意,您不应自己致电-resignFirstResponder