鼠标事件通过 NSView 渗透

2023-12-20

我有一个 NSView 覆盖其父窗口的内容视图。该视图有一个单击事件处理程序,可将其从内容视图中删除。在这个观点之中,我还有另外一个观点。当我在此内部视图中拖动鼠标时,鼠标事件不仅会应用于前面的视图,还会应用于后面的视图。此外,后面视图中的光标也会显示出来。这与这里发生的问题相同:NSView 覆盖将鼠标事件传递给底层子视图? https://stackoverflow.com/questions/3522410/nsview-overlay-passes-mouse-events-to-underlying-subviews但那里的答案不适用于我的项目,因为我无法打开另一个窗口。


如果没有看到您的事件处理代码,很难知道发生了什么,但我怀疑您可能正在调用super您的实现中各种事件处理方法的实现。

NSView是一个子类NSResponder,因此默认情况下未处理的事件会沿着响应者链向上传递。视图的超级视图是响应者链中的下一个对象,因此,例如,如果您调用:[super mouseDown:event]在你的实施中‑mouseDown:,事件将被传递到超级视图。

修复是为了确保您don't call super的事件处理程序中的实现。

这是不正确的:

- (void)mouseDown:(NSEvent*)anEvent
{
    //do something
    [super mouseDown:event];
}

这是对的:

- (void)mouseDown:(NSEvent*)anEvent
{
    //do something
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鼠标事件通过 NSView 渗透 的相关文章

  • 相当于 Cocoa 中的 FileSystemWatcher (.NET)

    我正在 Cocoa 中开发一个应用程序 我想不断检查特定位置的文件内容是否已更改 例如FileSystemWatcher在 NET中 请任何人给我一个解决方案 请看一下FSEvents http developer apple com do
  • 我可以使用 CALayer 来加速视图渲染吗?

    我正在制作一个自定义 NSView 对象 其中一些内容经常更改 而另一些内容则很少更改 事实证明 变化较少的部分需要花费最多的时间来绘制 我想做的是将这两个部分渲染在不同的层中 以便我可以分别更新其中一个或另一个 从而使我的用户免受缓慢的用
  • Mac App Store 上销售的沙盒应用程序可以访问系统文件夹吗?

    通过 Mac App Store 销售的应用程序是否可以访问系统文件夹 我的意思是 我的应用程序需要读取沙箱区域之外的目录内容 比如 Library StartupItems如果用户愿意 还可以删除那里的文件 沙盒应用程序是否可以访问系统文
  • 在系统范围内向 Mac 窗口标题栏添加按钮

    我希望能够添加一个按钮标题栏 https developer apple com design human interface guidelines macos windows and views window anatomy of Mac
  • 使用 NSJSONSerialization 解析 JSON:错误 3840 - 数据损坏?

    我读过很多关于这个问题的问答 但找不到适合我情况的答案 我从用 PHP 创建的 REST 服务检索 JSON 响应 这是我的代码 NSURLResponse response nil NSError theError1 nil NSErro
  • 如何在 NSImage 周围绘制彩色边框?

    我做了一些研究 但我得到的所有答案都是针对 iOS 的 如何在 OSX 应用程序中在 NSImage 周围绘制彩色边框 我尝试使用 NSImage 的 imageView 属性来设置它的边框宽度和颜色 但它似乎不起作用 非常感谢任何形式的帮
  • NSCollectionView 单元格顺序随视图更改而更改

    我有一个包含选项卡栏设计的 macOS 应用程序 即 Tweetbot 有 4 个选项卡链接到 4 个不同的视图控制器 初始视图控制器 视图一 包含一个NSCollectionView水平显示 3 个单元格 这一切都工作正常 但是当我切换到
  • 带圆角的 NSVisualEffectView

    如何在 OS X 中显示带圆角的 NSVisualEffectView 我添加 NSVisualEffectView 的代码 let visualEffectView NSVisualEffectView frame NSMakeRect
  • 如何在 Cocoa Touch 中验证网站证书?

    我目前使用 NSURLConnection 打开到 Web 服务器的 https 连接 一切正常 我能够检索我想要的页面内容 该证书是由 VeriSign 颁发的 我假设 NSURLConnection 做了一些工作来在某种程度上验证证书的
  • 在控制台应用程序中使用 swift 处理可可按键事件(按下按键)

    好吧 我正在尝试登录控制台输出按下的键 我只是无法理解可可的结构 无论是 Obj c 还是 swift 我不是这两种语言的大师 但是 这是我的代码 import Cocoa import Foundation import AppKit v
  • 用于在管道传输结果时链接异步操作的 GCD 模式

    来自 JavaScript 世界 使用异步 javascript 承诺 我相信在 Swift 中使用 GCD 异步队列也能完成同样的事情 你能给我举一个例子 其中在队列中指定了 2 到 3 个异步函数 其中一个异步操作将结果提供给第二个 第
  • 在iphone应用程序中的一个线程之后调度一个线程

    我想在线程完成后安排线程 是否可以 如何 例如 指定我的需要 void connection NSURLConnection connection didReceiveData NSData data 1 response schedule
  • 在 Cocoa 中声明对象时,我应该将它们设置为 nil 吗?

    假设我想创建一个实例NSString 根据另一个变量的值初始化为某个值 通常情况下 我会这样做 NSString string if foo 1 string Foo is one else string Foo is not one 然而
  • 快速以编程方式清除 NSView

    我有一个NSView连接到自定义类 该视图上有一些图画 class LineDrawer NSView var linear NSBezierPath var storage NSUserDefaults standardUserDefau
  • Swift / Cocoa 中的 windowNibName 错误?

    好吧 这将教会我用一年半的时间来定下 Swift 编程 显然事情已经改变了 在我过去的程序中 我的 MainWindowController 里面的这个非常高兴 class MainWindowController NSWindowCont
  • 在 Objective C 中获取第一响应者

    我无法弄清楚哪个UITextField是当前的第一响应者 我想做的是 如果用户单击特定的内容 则设置一个布尔值UITextField 因此 要做到这一点 我需要能够判断这个特定的文本字段是否已成为第一响应者 我知道如何设置第一响应者 但只是
  • TextView、iOS 和 OSX 中的彩虹文本

    我正在尝试向我的应用程序添加一些不同的文本颜色以融合到图像中 我收到了很多用户想要彩虹文本颜色并重复的输入 例如这个词 stackoverflow看起来像这样 s red t orange a yellow c green k blue o
  • 在 Cocoa 应用程序中验证用户输入的 URL 的最佳方法是什么?

    我正在尝试构建一个自制的网络浏览器 以更加熟练地使用 Cocoa 我需要一种好方法来验证用户是否输入了有效的 URL 我尝试过一些正则表达式 但 NSString 有一些有趣的怪癖 并且不喜欢我见过的大多数正则表达式使用的一些反引号 你可以
  • 复制文件而不冻结 GUI

    好的 基本上这就是我想做的 我的文件列表中有一个文件列表应用程序包 例如在文件夹中myData 请注意 子文件夹 等中有很多文件 文件夹 我想要复制整个文件树到用户磁盘上的给定位置 我需要有访问每个单独的文件被复制 因为其中一些在复制之前需
  • 如何在 Xcode 中设置 Mac 应用程序的图标?

    我学习了很多关于编写 Objective C 代码和在 Interface Builder 中进行设计的知识 并且我想为我的简单程序设置图标 我将相同的 JPG 添加到 Icon Composer 中的所有尺寸字段并获得了 ICNS 但我不

随机推荐

  • 如何为一个事件设置多个监听器?

    我想为一个事件设置多个侦听器 并且发现使用复合侦听器是关键 谁能给我举个例子吗 class CompositeListener implements OnEventListener private List
  • 如何使用 p4merge 作为 Mercurial 的合并/比较工具?

    有谁知道如何设置水星 http www selenic com mercurial wiki index cgi Mercurial to use p4merge http www perforce com perforce product
  • 具有跨域请求的重复 Flex 会话

    当我在本地发出请求时 维护 FlexSession 完全没有问题 但是 当我从另一台计算机发出请求时 它会为每个请求创建重复的 FlexSession 我注意到每个请求的 JSESSIONID 都不同 这可能是导致会话被欺骗的原因 但我不知
  • ASP.NET:将值绑定到转发器内的自定义用户控件

    我有一个将数据绑定到转发器的 ASP NET 控件 在该中继器内 我有另一个自定义用户控件 我想根据当前绑定项将值传递给第二个控件
  • 错误 1045 (28000):用户“用户名”@“%”的访问被拒绝(使用密码:YES)

    我在 CentOS 6 4 服务器上安装了 MySQL 我登录到 root 并更改了密码 后来我想我应该创建一个新用户并将该用户用作我的默认用户 所以我创建了一个新用户名golden使用以下命令 CREATE USER golden IDE
  • Rails 4 中的参数化连接

    我正在做手动join我需要将一个参数传递给它ON clause Foo joins LEFT OUTER JOIN bars ON foos id bars foo id AND bars baz baz 有没有办法通过baz作为参数 以避
  • 重用订阅者

    在 RxJava 中我有一个Subscriber我订阅的对象Observable 稍后 一段时间后onComplete 已被调用 我创建一个新的Observable并以相同的方式订阅Subscriber之前使用过的实例 然而 这似乎行不通
  • HttpClient上传MultipartFormData玩2框架

    我在使用 RestSharp 客户端的 Windows Phone 8 项目中有以下代码 public async Task
  • 什么是 initWithCoder?

    请向我解释一下什么是 initWithCoder Thanks initWithCoder 是的一部分NSCoder协议 它是 Cocoa 序列化系统的一部分 阅读Cocoa 档案和序列化指南 http developer apple co
  • findstr ms-dos 命令不会搜索子目录

    我不得不关闭 Windows 7 中的 Windows 搜索索引 因为旧硬盘在打开索引时不断发出噪音 现在我想用Windows 命令提示符可在当前目录和子目录中的所有文件中搜索特定文本术语 如何使用 Windows 命令findstr搜索子
  • 严重:ContainerBase.addChild:启动:org.apache.catalina.LifecycleException:无法启动错误

    当我尝试在 Tomcat 中运行我的应用程序时遇到此错误 我已经检查了tomcat和java home的版本 两者都使用java 6 是不是少了一个罐子 或者是我的web xml 我没有使用任何 Maven 工具 SEVERE Contai
  • 什么时候应该在 JavaScript 中使用 try/catch?

    当我使用 JavaScript 开发普通的 Web 应用程序时 try catch通常不需要声明 没有检查异常 http en wikipedia org wiki Exception handling Checked exceptions
  • Laravel:搜索或过滤集合

    我在过滤或搜索集合时遇到此问题 http laravel io bin vj115 http laravel io bin vj115检查 url 中的代码 我想做的是通过 get 方法过滤集合 当然来自 url 但只有在以下情况下才有效I
  • Grails 域是否可以没有“id”?

    是否可以创建一个没有 id 的表 例如 这是我的域 class SnbrActVector int nid String term double weight static mapping version false id generato
  • 将网页转换为 pdf 图像的最佳方法

    谁能告诉我一种将网页屏幕截图转换为 pdf 的简单方法 如果您尝试从桌面用户的角度执行此操作视窗 http www go2pdf com product html http www go2pdf com product html Linux
  • JavaScript 日期不反映 Google Chrome 中的系统时间更改

    实现html js时钟定时器 jsfiddle http jsfiddle net o2b6b2jp 1 示例 我在向后和向前更改操作系统时间时发现了问题 让我们有这个html div div 和JS代码 var time document
  • 如何使用触发器在SQL中递增?

    所以我有一个表 其中包含菜系列表以及总共有多少家提供该菜系的餐厅 例如意大利语 7 我正在尝试在 phpMyAdmin 中设置一个触发器 每次将新餐厅添加到数据库时都会增加总数 这是我到目前为止所拥有的 CREATE TRIGGER Upd
  • Angular2 NgModel 在 Jasmine 测试中没有获得价值

    我在 Angular 2 中使用模板驱动的表单 并且尝试以测试优先的方式开发它们 我已经搜索了这个网站和互联网的其余部分 并且基本上尝试了我能找到的所有内容 主要是 fakeAsync 中到处都是的 tick 语句和 detectorCha
  • Maven RPM 插件不生成指定的 scriptlet

    我正在尝试在 rpm maven plugin 的帮助下创建一个 rpm 包 一切顺利 直到我尝试让它生成 pre scriptlet 或任何与此相关的 scriptlet pom xml 摘录如下
  • 鼠标事件通过 NSView 渗透

    我有一个 NSView 覆盖其父窗口的内容视图 该视图有一个单击事件处理程序 可将其从内容视图中删除 在这个观点之中 我还有另外一个观点 当我在此内部视图中拖动鼠标时 鼠标事件不仅会应用于前面的视图 还会应用于后面的视图 此外 后面视图中的