iOS中我们做一个弹出视图,通常会加一个默认透明图层来响应点击事件,这样处理,点击空白处时,会响应隐藏方法。达到了自动隐藏的目的。
addLocalMonitorForEventsMatchingMask
在MacOS开发中,我们使用NSEvent
事件来监听点击事件在其他地方的点击。并进行处理。
如图:
需要在点击任何红色区域外时候,隐藏红色区域的视图。
使用NSEvent
的addLocalMonitorForEventsMatchingMask
方法
NSEvent *_mEventMonitor;
__weak typeof(self) wself = self;
_mEventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSLeftMouseDownMask|NSLeftMouseDraggedMask|NSRightMouseDownMask handler:^NSEvent * _Nullable(NSEvent * _Nonnull event) {
//获取触发事件坐标
__strong typeof(self) sself