macOS开发之监听鼠标移入和移出

2021-01-21  本文已影响0人  chasitu

简单说一下场景吧,今天遇到的需求就是鼠标移入修改颜色,移出鼠标颜色恢复的,之前做iOS开发的经验来看就是去相关控件的父类里面找系统提供的方法,我也找到了,也确定这两个方法就是做这个事情的,然后就是不调用

首先看看这两个方法

- (void)mouseEntered:(NSEvent *)event
{
    self.view.layer.backgroundColor = ColorFromRGB(181, 237, 255, 1.0).CGColor;
}
- (void)mouseExited:(NSEvent *)event
{
    self.view.layer.backgroundColor = ColorFromRGB(216, 216, 216, 1.0).CGColor;
}

然后我们直接上解决方法吧

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addTrackingRect:NSMakeRect(0, 0, 160, 240) owner:self userData:nil assumeInside:YES];
}

viewDidLoad方法里面加上这行代码,这行代码就是告诉系统这个控件需要监听鼠标的移入和移出,这个方法只对NSResponder的子类有用,习惯了iOS开发中系统为我们做了很多事相比macOS开发这种坑真的好不习惯啊


完成

上一篇 下一篇

猜你喜欢

热点阅读