【发布时间】:2014-08-03 12:26:32
【问题描述】:
假设我有一个自定义 UIView,我们称之为 MyCustomView。这个视图内部是一个 UITextField 属性。假设我的目标是能够创建 MyCustomView 的实例并将其添加到某个视图控制器中,并且我希望该视图控制器能够处理对该文本字段执行的操作。例如,如果我在文本字段中按键盘上的“return”,我可能想做一些动作 - 让我举个例子来说明我正在用一些 Objective-c 伪代码设想什么:
MyCustomView *myView = [[MyCustomView alloc] initWithFrame:CGRectMake(10,10,100,100)];
myView.textField.actionBlock = { /* do stuff here! */ }
[self.view addSubview:myView];
然后在 MyCustomView 类中,我会执行以下操作:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
self.actionBlock();
return NO;
}
我希望 customView 成为 UITextFieldDelegate,这样每次执行此操作时,我都不必将所有委托方法添加到要添加到的视图控制器中,而只需一个实现即可whatever 我会传递给它...如何快速做到这一点?
【问题讨论】:
标签: ios uitextfield closures swift uitextfielddelegate