私は、アプリケーション内から作成NSTextFieldへの委譲としての私のビューコントローラを割り当てるしようとしています:デリゲートを割り当て、プログラム
replaceCell = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 60, 60)];
[replaceCell setDelegate:(id)myViewController];
私は
- (void)controlTextDidBeginEditing:(NSNotification *)aNotification
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
myViewControllerに次のメソッドを実装していますどちらも呼ばれない。テキストフィールドがNSMatrixに挿入されています。だから私は
mapMatrix.delegate = (id)myViewController;
を試していないし、ここでも
- (BOOL)textShouldBeginEditing:(NSText *)textObject;
- (BOOL)textShouldEndEditing:(NSText *)textObject;
myViewController
に次のメソッドを実装し、どちらも呼び出されます。私は非常にすべての入力を感謝します。最終的に私がしようとしているのは、ユーザーがタブキーを押して行列の1つのセルから次のセルに進むときのインターセプトです。申し訳ありませんが、まずはそのことを述べておきます。この文脈で
'myViewController'が設定されていて、テキストフィールドのデリゲートとして設定する前に' nil' **と異なるのですか? –
@ Bavariousさんのコメントに加えて、どの方法でテキストフィールドを作成していますか? –
はい、確かにそれがゼロでないことを確かめてください。テキストフィールドが作成されるメソッドは、myViewControllerとは異なるオブジェクトにあります。私は以下のようにselfを使ってみましたが、デリゲートメソッドを同じオブジェクトに配置しましたが、それでも動作しませんでした。 –