1

私は、Mac 用のメニューバーのメモ作成アプリケーションに取り組んできました。これは Objective-C と Cocoa で書かれており、私は BWToolkit を使用しています。私の問題は、NSTableView のサブクラスである BWTransparentTableView で keyDown: および mouseDown: イベントを取得することです。私はそれを機能させることができません。インターネットを検索してみましたが、NSTableView をサブクラス化する必要があると書かれている場所もあります。私はそれを試しましたが、それでもうまくいきません。私は Objective-C と Cocoa にかなり慣れていないので、間違ったことをしている可能性があります。

4

1 に答える 1

4

の項目は、NSTableViewゆっくりダブルクリックするか、Return キーを押すと、自動的に編集を開始します。テーブル ビュー、セル、およびアレイ コントローラ (使用されている場合) が編集可能としてマークされていることを確認します。

を使用していない場合はNSArrayController、テーブル ビューにデリゲートがあり、それが に応答することを確認してくださいtableView:shouldEditTableColumn:row:

doubleActionダブルクリックを処理するには、テーブル ビューのを設定するだけです。

- (void)awakeFromNib
{
    [tableView setTarget:self];
    [tableView setDoubleAction:@selector(doubleClickInTable:)];
}

- (void)doubleClickInTable:(id)sender
{
    NSInteger rowIndex = [sender selectedRow]; //Use selectedRowIndexes if you're supporting multiple selection
    //Handle the double click
}

これらのメソッドのどちらも、サブクラス化する必要がないことに注意してくださいNSTableView

于 2009-11-22T23:21:12.530 に答える