Назначение делегата программно - PullRequest
2 голосов
/ 06 июля 2011

Я пытаюсь назначить свой контроллер представления в качестве делегата для NSTextField, который я создал из приложения:

replaceCell = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 60, 60)];
[replaceCell setDelegate:(id)myViewController];

Я реализовал следующие методы в myViewController

- (void)controlTextDidBeginEditing:(NSNotification *)aNotification
- (void)controlTextDidEndEditing:(NSNotification *)aNotification

Ни один не позвонил.Текстовое поле вставляется в NSMatrix.Поэтому я попытался

mapMatrix.delegate = (id)myViewController;

и реализовал следующие методы в myViewController

- (BOOL)textShouldBeginEditing:(NSText *)textObject;
- (BOOL)textShouldEndEditing:(NSText *)textObject;

Опять же, ни один из них не вызывается.Я был бы очень признателен за любой ввод.

В конечном счете, я пытаюсь перехватить, когда пользователь нажимает клавишу табуляции, чтобы перейти от одной ячейки в матрице к следующей.Извините, должен был заявить, что для начала.

1 Ответ

0 голосов
/ 06 июля 2011
[replaceCell setDelegate:self];

или

replaceCell.delegate=self;

self в этом контексте является вашим текущим контроллером представления, где появляется этот код.

...