Mac开发之 文件拖入窗口

作者: 原来你是这种花椒 | 来源:发表于2017-09-20 14:18 被阅读174次

    看到很多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 转 汉字

    请大家多支持哦!

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

    相关文章

      网友评论

      • iLeooooo:请问一下,文件拖入Dock栏App的图标,打开改app,获取到文件路径怎么实现?

      本文标题:Mac开发之 文件拖入窗口

      本文链接:https://www.haomeiwen.com/subject/wucosxtx.html