1

初めての Mac OS X アプリケーションを作成していますが、問題が発生しています。

NSArrayController にリンクされたウィンドウに NSTableView を作成しました。テキスト フィールド セルの編集を停止した後にメソッドを呼び出したいと思います。そのため、次のスクリーンショットでわかるように、編集の終了時にアクションを呼び出すことを選択しました。

ここに画像の説明を入力

その後、IBAction を作成しました。

AppDelegate.h で次のコードが生成されました。

- (IBAction)stopEditingHeaderNameCell:(id)sender;

そして、セルが編集されたときに NSLog メッセージを表示するために、AppDelegate.m の IBAction を編集しました。

- (IBAction)stopEditingHeaderNameCell:(id)sender
{
    NSLog(@"test");
}

ただし、Enter キーを押すか、別の要素をクリックしてセルの編集を停止しても、何も起こりません。この IBAction を NSTextField に適用しようとしましたが、完全に機能しますが、このテキスト フィールド セルに適用すると IBAction が呼び出されません。

誰でもこれを解決するのを手伝ってもらえますか?

ありがとう!

4

1 に答える 1

1

これは、テーブル ビューのテキスト フィールド セルでこれを行う方法ではありません。アプリにテーブルのデリゲートを委任させ (IB でこれを接続できます)、次に controlTextDidEndEditing: を実装する必要があります。このメソッドは、編集を終了したときに呼び出されます (セルからタブで移動するか、別の行または列をクリックします)。

于 2012-06-08T00:25:57.317 に答える