2

我正在尝试将我的视图控制器作为委托分配给我从应用程序中创建的 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;

同样,两者都没有被调用。我将非常感谢任何意见。

最终,我要做的是在用户按下 Tab 键以从矩阵中的一个单元格前进到下一个单元格时进行拦截。对不起,应该一开始就说明这一点。

4

1 回答 1

0
[replaceCell setDelegate:self];

或者

replaceCell.delegate=self;

self在这种情况下是您当前的视图控制器,此代码出现在其中。

于 2011-07-06T09:33:27.383 回答