我试图将我的视图控制器作为我在应用程序内创建的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键从矩阵中的一个单元格前进到下一个单元格时进行拦截。抱歉,应该先说一下。
最佳答案
[replaceCell setDelegate:self];
要么
replaceCell.delegate=self;
在这种情况下,
self
是显示此代码的当前视图控制器。关于cocoa - 以编程方式分配代表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6594168/