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 转 汉字

请大家多支持哦!


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

你可能感兴趣的:(Mac开发之 文件拖入窗口)