2

右矢印と左矢印でタブとシフトタブをシミュレートしたい。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]];
        }


    }

}
4

2 に答える 2

0

キーダウンよりも、NSTableViewからNSControlDelegateをオーバーライドできます。

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

この投稿からの回答を見てください:NSTableViewの矢印キー

于 2012-02-03T13:32:21.237 に答える
0

-[NSTableView editColumn:row:withEvent:select:]

于 2011-06-24T16:36:21.823 に答える