美文网首页Mac开发云集Mac开发iOS之MAC端开发
Mac开发 关于鼠标的事件(隐藏)

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

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

    首先,mac上的鼠标事件和web一样,有悬停方法等。

    开启鼠标悬停事件

    先声明:

    @property(nonatomic,strong) NSTrackingArea *trackingArea;

    在需要的时候调用这个方法

    -(void)openMouseOverflowEvent{

    NSTrackingAreaOptions  options =

    NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways | NSTrackingMouseMoved;

    self.TrackingArea = [[NSTrackingArea alloc] initWithRect:self.view.bounds options:options owner:self.view userInfo:nil];

    [self.view addTrackingArea:self.trackingArea];

    NSLog(@"开启鼠标悬停");

    }

    这样就开启了鼠标事件

    NSTrackingMouseEnteredAndExited  代表鼠标进入窗口和离开窗口

    NSTrackingMouseMoved  代表鼠标在窗口上移动

    鼠标进入窗口事件

    - (void) mouseEntered:(NSEvent *) theEvent{

                if(self.trackingArea != nil) {

                NSLog(@"鼠标进入控制器");

                 }else{

              [self openMouseOverflowEvent];

               }

    }

    鼠标离开窗口事件

    -(void)mouseExited:(NSEvent*)theEvent{

          if(_trackingArea != nil) {

         NSLog(@"鼠标离开控制器");

         }else{

         [self closeMouseOverflowEvent];

    }

    鼠标移动事件

    - (void)mouseMoved:(NSEvent*)event{

         NSLog(@"鼠标移动");

    }

    关闭鼠标悬停事件

    - (void)closeMouseOverflowEvent{

    [self.view removeTrackingArea:_trackingArea];

    _trackingArea=nil;

    NSLog(@"关闭鼠标悬停");

    }


    接下来说一说 鼠标隐藏方法

    鼠标隐藏

    这个真的是我找了很久才找到的 ,心里苦 。

    //隐藏鼠标

    [NSCursor setHiddenUntilMouseMoves:YES];

    一般都是设置延迟执行

    dispatch_queue_t  queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,  (int64_t)(2.5*NSEC_PER_SEC)),  queue, ^{

    [NSCursor setHiddenUntilMouseMoves:YES];

    });

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

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

    Mac开发 NSButton 字体颜色

    Mac开发之 文件拖入窗口

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

    Mac开发 简单动画

    Mac开发之 监听窗口的改变

    Mac开发 代码实现 发邮箱

    Mac ios开发 URL 转 汉字

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

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

    如果觉得对你有帮助,不妨支持一下作者

    作者支付宝

    相关文章

      网友评论

        本文标题: Mac开发 关于鼠标的事件(隐藏)

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