如何在自定义 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 或其他软件中进行操作。
此解决方案还将缩放您的图像以适应它插入到的视图的大小。
我正在构建我的第一个应用程序,其中有一个用于拖放文件的自定义 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 或其他软件中进行操作。
此解决方案还将缩放您的图像以适应它插入到的视图的大小。