2016-03-15 42 views
3

我也嘗試這種解決方案,但所選列的NSTableView的

Get selected column and row from NSTableView

Get selected row and column in view based nstable

如何,我可以得到列中選擇它並不能解決我的問題呢? 我所得到的,當我使用的NSTableView

[tableView selectedColumn] //returns -1 
[tableView selectedRow] //returns 1, 

selectedColumn屬性有什麼辦法讓所選列

注:我想選擇的列,而無需創建 NSTableView的類的子類

+0

是什麼意思在Objective-C,如果一個整數是-1?這是基礎知識。 –

+0

@EI -1表示未選中列 –

+0

顯然選擇了第1行。您不能同時選擇一行和一列。 – Willeke

回答

1

假設您想要編輯的列:

id firstResponder = self.window.firstResponder; 
if ([firstResponder isKindOfClass:[NSView class]]) 
    NSInteger column = [self.tableView columnForView:firstResponder]; 
+0

謝謝回答但是我想要選擇的列而不是正在編輯的列。 –

+0

所選列是'[tableView selectedColumn]'。 – Willeke

+0

'[tableView selectedColumn]'會給-1。所以它不能解決我的問題 –

2

我有一個類似的問題,這裏是我的問題的鏈接,由肯·托馬斯解決。我希望它能幫助你!

Click here to see the problem solved: How do I select column and row from a NSTableView

In objective-C I think it should look like that

+0

感謝您的答案,但我使用目標c和你的代碼中迅速,我不知道很多關於SWIFT,請你能關於目標C –

+1

columnForView(發件人)方法或同等解釋' [self.tableview rowForView:發送者];'和與列是相同的。我覺得應該這樣,但我不是一個Objective-C的專家。 (我在我的舊的答案添加圖像) –

+0

@RafaFebrer你,先生,是一個救星。這應該是被接受的答案。 –