我有一個NSTableView。在編輯時,如果我點擊標籤,它會自動跳轉到下一列。這太棒了,但是當我編輯最後一列中的字段並且我點擊標籤時,我想要專注地跳到下一行的第一列。NSTableView打標籤在編輯時從一排跳到另一排
有什麼建議嗎?
感謝邁克爾的起始代碼,它非常接近結束了工作!下面是我用最後的代碼,希望這會有所幫助別人:
- (void) textDidEndEditing: (NSNotification *) notification {
NSInteger editedColumn = [self editedColumn];
NSInteger editedRow = [self editedRow];
NSInteger lastColumn = [[self tableColumns] count] - 1;
NSDictionary *userInfo = [notification userInfo];
int textMovement = [[userInfo valueForKey:@"NSTextMovement"] intValue];
[super textDidEndEditing: notification];
if ((editedColumn == lastColumn)
&& (textMovement == NSTabTextMovement)
&& editedRow < ([self numberOfRows] - 1)
)
{
// the tab key was hit while in the last column,
// so go to the left most cell in the next row
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:(editedRow+1)] byExtendingSelection:NO];
[self editColumn: 0 row: (editedRow + 1) withEvent: nil select: YES];
}
}
我沒有看到你在這裏發佈了修改的代碼。太好了!正如我在下面所問,任何想法如何使用最右邊一列中的按鈕單元格來調整這個表格? – paulmelnikow
如果您希望TabB跳過該列,只需將lastColumn更改爲count - 2.如果您希望選項卡跳轉到該按鈕......我不確定。我從來沒有處理過。 –
選項卡已經停在那裏(這是在系統偏好設置中設置的)。當我選中它時,我想進入下一行。 – paulmelnikow