3

我对基于视图的 NSTableview 的拖放有一些疑问。

在此处输入图像描述在此处输入图像描述

  1. 如何更改拖放突出显示颜色?
  2. 如何更改拖放矩形形状(宽度和高度)?

提前致谢

4

1 回答 1

8

你应该能够在你的NSTableRowView子类中做这样的事情:

- (id)initWithFrame:(NSRect)frame {
    self = [super initWithFrame:frame];
    if (!self)
        return nil;
    // etc...

    [self setDraggingDestinationFeedbackStyle:NSTableViewDraggingDestinationFeedbackStyleNone];

    return self;
}

- (void)drawDraggingDestinationFeedbackInRect:(NSRect)dirtyRect {
    NSRect drawRect = [self bounds];
    // Tweaking the size of the drawing rectangle...
    aRowRect.size.height--;
    aRowRect.size.width-=2;
    aRowRect.origin.x++;

    NSBezierPath *backgroundPath = [NSBezierPath bezierPathWithRect:drawRect];
    [[NSColor redColor] set];
    [backgroundPath fill];
    [[NSColor greenColor] set];
    [backgroundPath stroke];
}

当然,如果您不构建以圣诞节为主题的应用程序,您会想要更改这些颜色。

于 2013-06-14T03:35:26.720 回答