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