单击选择NSCell,而不先选择行?

时间:2013-10-15 13:07:07

标签: objective-c cocoa

当我在NSTableView中选择NSTextFieldCell时,行为会有所不同,具体取决于是否选择了行。

  • 如果选择了行,则会立即选中单元格,并且光标在文本字段内闪烁

  • 如果未选择该行,则单击后的唯一更改是选择行,但单元格不会进入编辑模式。

我想在单击一下后将单元格置于编辑模式。

2 个答案:

答案 0 :(得分:1)

在下面实施此方法,它将编辑您的单元格: -

- (void)editColumn:(NSInteger)columnIndex row:(NSInteger)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag

答案 1 :(得分:0)

我认为您想要的是一键编辑您的手机。为此,您需要子类化tableview并捕获其mousedown:event as

- (void)mouseDown:(NSEvent *)theEvent
  {

       NSPoint globalLocation = [theEvent locationInWindow];
       NSPoint localLocation = [self convertPoint:globalLocation fromView:nil];
       NSInteger clickedRow = [self rowAtPoint:localLocation];
       NSInteger clickedCol = [self columnAtPoint:localLocation];

       [super mouseDown:theEvent];

       [self editColumn:clickedCol row:clickedRow withEvent:theEvent select:YES];

  }