如何在自定义 NSView 中绘制 "drag and drop" 区域

How to draw a "drag and drop" area in a custom NSView

我正在构建我的第一个应用程序,其中有一个用于拖放文件的自定义 NSView。我已经把拖拽操作注册下来了,但是还需要设计拖放区域,让用户真正知道他们可以把文件拖放到那里。

我希望该区域看起来像这样:

我在自定义 NSView class 的 drawRect 函数中尝试了一些不同的东西,但到目前为止我什至无法绘制 虚线 边框。

是否可以在 NSView 中绘制类似的东西,如果可以:我该怎么做?或者我应该只创建一个我希望我的拖放区域看起来如何的图像,然后将其插入到视图中?
提前致谢。

如果其他人遇到过这个问题,我解决这个问题的方法就是像这样将图像插入 NSView

- (void)drawRect:(NSRect)dirtyRect {
    NSImage *image = [NSImage imageNamed:@"Dropzone"];
    [image drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
}

到目前为止似乎是最简单的方法。特别是如果您或您认识的人知道如何在 Photoshop 或其他软件中进行操作。

此解决方案还将缩放您的图像以适应它插入到的视图的大小。