Mac开发之 文件拖入窗口

看到很多Mac上的工具类应用都可以直接拖入图片 或者 拖入文件直接使用,今天就来说一下文件拖入的使用方法

首先 新建一个文件继承NSView;

声明一个BOOL值 

@property(nonatomic,assign)BOOL isDragIn;

- (void)drawRect:(NSRect)dirtyRect {

       [superdrawRect:dirtyRect];

       [self registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,nil]];

       if(_isDragIn) {

       NSLog(@"拖拽了");

    }

}

- (NSDragOperation)draggingEntered:(id)sender

{

_isDragIn=YES;

[self setNeedsDisplay:YES];

return NSDragOperationCopy;

}

- (void)draggingExited:(id)sender

{

_isDragIn=NO;

[self setNeedsDisplay:YES];

}

- (BOOL)prepareForDragOperation:(id)sender

{

_isDragIn=NO;

[self setNeedsDisplay:YES];

returnYES;

}

- (BOOL)performDragOperation:(id)sender

{

if([senderdraggingSource] !=self)

{

NSArray* filePaths = [[sender draggingPasteboard] propertyListForType:NSFilenamesPboardType];

NSLog(@"文件地址%@",filePaths);

}

return YES;

}

关于Mac开发的随笔记(以下皆是作者随笔)

Mac开发 关于鼠标的事件(隐藏)

Mac开发 给视图设置颜色View,Button等

Mac开发 NSButton 字体颜色

Mac开发之 文件拖入窗口

Mac开发自定义TitleBar 和设置窗口居中

Mac开发 简单动画

Mac开发 代码实现 发邮箱

Mac开发之 监听窗口的改变

Mac ios开发 URL 转 汉字

请大家多支持哦!


此文已由作者授权,转载请注明文章出处

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容