0

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

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

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

在单击 1 次后,我希望在这两种情况下都使单元格进入编辑模式。

4

2 回答 2

1

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

- (void)editColumn:(NSInteger)columnIndex row:(NSInteger)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag
于 2013-10-15T13:18:20.393 回答
0

我认为您想要的是一键编辑您的单元格。为此,您需要子类化您的 tableview 并将其 mousedown: 事件捕获为

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

  }
于 2013-10-16T08:28:25.807 回答