如何绘制"拖放"自定义NSView中的区域

时间:2015-10-03 12:55:49

标签: objective-c macos nsview drawrect

我正在构建我的第一个应用程序,其中我有一个用于拖放文件的自定义NSView。我已经注册了拖动操作,但仍然需要设计拖放区域,因此用户实际上知道他们可以在那里删除文件。

我希望这个区域看起来像这样:
How do I get my drag and drop area to look like this?

我已经在我的自定义drawRect课程的NSView功能中尝试了一些不同的东西,但到目前为止我还没有能够画出虚线边框。

是否可以在NSView内绘制这样的内容,如果是这样的话:我该怎么做?或者我应该创建一个关于我如何看待拖放区域的图像,并将其插入视图中?
提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

到目前为止似乎是最简单的方法。特别是如果您或您认识的人知道如何在Photoshop或其他任何地方做事。

此解决方案还可以缩放图像以适合插入视图的大小。