4

NSTableViewのヘッダーのダブルクリックを検出する必要があります。

ダブルクリックでトリガーされる次のものを見つけましたが、どの列がクリックされたかを検出できません。

[table setTarget:self];
[table setDoubleAction:@selector(myDoubleClickInList:)];

そしてmyDoubleClickInList内:私が使用するメソッド

[table clickedRow] == -1

ヘッダーを取得します。

しかし、から列識別子を取得できません[table clickedColumn] 。それも可能ですか?

4

2 に答える 2

2

呼び出されたインスタンス変数またはプロパティにアクセスできると仮定するとtable、次のようにすると、列識別子を取得できます。

NSInteger column = [table clickedColumn];
NSRange columnRange = NSMakeRange(0, [table numberOfColumns]);
if (NSLocationInRange(column, columnRange){
    NSTableColumn *tableColumn = [[table tableColumns] objectAtIndex:column];
    NSString *identifier = [tableColumn identifier];
    // Now do something with the column identifier...

} else {
    // The click was not in a column, do something else...
}
于 2013-03-03T08:43:43.993 に答える
-2

これを行う必要がある場合は、ビューの上に(ダブルタップ->セレクター)を追加してUIviewサブクラスを作成し、そのカスタムビューを返します。現在、コードを提供することはできませんが、それでもこれがお役に立てば幸いです。UITapGestureRecognizer- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

于 2013-03-02T14:22:42.460 に答える