简单说一下场景吧,今天遇到的需求就是鼠标移入修改颜色,移出鼠标颜色恢复的,之前做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
开发这种坑真的好不习惯啊
完成
网友评论