Скажем, у меня есть пользовательский UIView, который можно назвать MyCustomView. Внутри этого представления есть свойство UITextField. Предположим, моя цель - создать экземпляр MyCustomView и добавить его в какой-либо контроллер представления где-нибудь, и я хочу, чтобы этот контроллер представления мог обрабатывать действия, предпринятые в этом текстовом поле. Например, если я нажму "return" на клавиатуре в текстовом поле, я, возможно, захочу сделать какое-то действие - позвольте мне привести пример того, что я представляю с помощью кода objective-c psuedo:
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, так что каждый раз, когда я это делаю, мне не нужно будет добавлять все методы делегата в контроллеры представлений, к которым я добавляю, но, скорее, иметь единственную реализацию, которая просто независимо Я перехожу к нему... Как можно сделать это быстро?