Имитация Tab и Shift-Tab с помощью клавиш со стрелками в NSTableView - PullRequest
2 голосов
/ 24 июня 2011

Я хочу смоделировать вкладку и Shift-Tab со стрелкой вправо и стрелкой влево.Я предположил, что мне нужно создать подкласс NSTableview и переопределить код клавиши, но я не знаю, как сказать табличному представлению, которое должно редактировать ячейку в столбце и строке.вот как далеко я доберусь

-(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]];
        }


    }

}

Ответы [ 2 ]

0 голосов
/ 03 февраля 2012

Лучше, чем нажатие клавиши, вы можете переопределить NSControl Delegate из NSTableView:

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

Посмотрите на ответы из этого поста: Клавиши со стрелками с NSTableView

0 голосов
/ 24 июня 2011
...