2011-06-24 31 views
2

我想用右箭頭和左箭頭模擬Tab和Shift-Tab。我認爲我必須繼承NSTableview並覆蓋keydown代碼,但我不知道如何告訴必須在列和行中編輯單元格的表視圖。這是我走多遠使用NSTableView中的箭頭鍵模擬Tab和Shift-Tab

-(void)keyDown:(NSEvent*)event{ 
    [super keyDown:event]; 
    NSLog(@"%hi", [event keyCode]); 

     if ([event keyCode] == 48 && ([event modifierFlags] & 
            NSShiftKeyMask)){ 
     [[self window] selectKeyViewPrecedingView:self]; 
    } 

    if ([event keyCode] == 51){ 
     [[self window] selectKeyViewPrecedingView:self]; 

    } 
    if ([event keyCode] == 124){ 
     if ([self selectedColumn] < [self numberOfColumns]-1) { 

      [self performClickOnCellAtColumn:[self selectedColumn]+1 row:[self selectedRow]]; 
     } 


    } 
    if ([event keyCode] == 124){ 
     if ([self selectedColumn] > 0) { 
      [self performClickOnCellAtColumn:[self selectedColumn]-1 row:[self selectedRow]]; 
     } 


    } 

} 

回答

0

比的keydown更好,你可以從NSTableView的覆蓋的NSControl代表:

- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)command 

在這個職位的答案請看:Arrow keys with NSTableView

0
+0

有了這個我編輯字段,但我仍然不能移動到下一個或上一個單元格 –

+0

我不明白你想要做什麼。 –

+0

我想在單元格之間移動使用右鍵和左鍵,如選項卡和shift-tab,所以當我按右鍵我應該移動到下一個單元格並編輯它 –