1
如何獲得當前正在聚焦的NSTableView
中的行索引?當左鍵單擊時,該行被選中,但當右鍵單擊該行時,我需要該索引,即當用戶打開上下文菜單但該行確實獲得焦點時,該行可能未被選中。我無法在文檔中找到有關如何執行此操作的任何詳細信息。獲取焦點行的NSTableView行索引?
如何獲得當前正在聚焦的NSTableView
中的行索引?當左鍵單擊時,該行被選中,但當右鍵單擊該行時,我需要該索引,即當用戶打開上下文菜單但該行確實獲得焦點時,該行可能未被選中。我無法在文檔中找到有關如何執行此操作的任何詳細信息。獲取焦點行的NSTableView行索引?
您可以從tableView.clickedRow
獲取右鍵單擊的行索引。請注意,如果用戶在所選行(高亮顯示)上單擊鼠標右鍵,系統將「聚焦」全部選定的行(假設有多個選定行;您可以在Finder中試用)。所以你也可以考慮這一點。
可能的實現:
int clickedRow = tableView.clickedRow;
NSIndexSet *focusedIndexes;
if (clickedRow != -1) {
if ([tableView isRowSelected:clickedRow]) {
focusedIndexes = tableView.selectedRowIndexes;
} else {
focusedIndexes = [NSIndexSet indexSetWithIndex:clickedRow];
}
// do what you desire with focusedIndexes
}
非常感謝!這是訣竅! – BadmintonCat