确定 NSView 是否绘制的正确方法

2024-05-20

有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制,考虑以下情况:

  • 视图完全在屏幕外(不是强制性的)
  • 该视图不在视图层次结构的顶部

The -isHidden and -isHiddenOrHasHiddenAncestor不幸的是,当例如由于选项卡视图切换到另一个选项卡,视图会消失。

原因是我有一个附加的子窗口,并且我希望在未绘制它所附加的视图时也能够隐藏它。


我找到了一个技巧来判断它是否可见,但它需要子类化。它的工作原理是在 2 个事件上切换 ivar。

- (void)discardCursorRects {
  isDrawn_ = NO;
  [super discardCursorRects];
}

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

确定 NSView 是否绘制的正确方法 的相关文章

随机推荐

  • 单屏上支持多种语言的 Android 字体

    我是安卓新手 我正在实施一个应用程序 该应用程序将采用英语和乌尔都语两种语言 基本上会有一些阿拉伯语文本 其含义将根据用户选择的语言为英语或乌尔都语 我想更改阿拉伯语文本的字体 如果我在整个应用程序中应用字体 它也会改变乌尔都语和英语的外观
  • 正则表达式 数字字符串 数字字符串循环

    我的字符串是 str Move 10 Casio Watch 20 Apple Iphone 100 Apple Macbook to store 我用过了 preg match all 0 9 str matches 但它只匹配产品名称的
  • Mongod 错误(用自制程序安装)

    我已经安装了 mongodb brew install mongodb 已创建文件夹 mkdir p data db 处理权限 sudo chown R id un data db Run mongod 错误日志 2018 01 06T14
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • 是否可以在单个 POM 中执行两个不同的 maven exec-maven-plugin

    我使用执行以下代码mvn exec java com mycompany FooServer 我想添加另一个我可以执行的服务器mvn exec java com mycompany BarServer 我如何在单个 pom 文件中做到这一点
  • Python 原生协程和 send()

    基于生成器的协程有一个send 方法 允许调用者和被调用者之间进行双向通信 并从调用者恢复生成的生成器协程 这是将生成器转变为协程的功能 虽然新本地人async await协程为异步 I O 提供了卓越的支持 我不知道如何获得相当于send
  • 配置 HttpClientFactory 以使用当前请求上下文中的数据

    随着新HttpClientFactory https www stevejgordon co uk introduction to httpclientfactory aspnetcore在 ASP NET Core 2 1 中 使用基本
  • 如何在 mongoid 中使用 or 条件进行查询

    如何在 Mongoid 中使用 or 条件进行查询 这是 OR 在 mongoid 中查询 如果你想要像下面这样的查询 select from user where id 10 or name hitesh 在带有 mongoid 的 Ra
  • Android ACTION_SEND 意图未填充主题或正文

    我的应用程序中有代码可以让用户向开发人员发送电子邮件 它应该预先填充 收件人 字段 主题 字段和 正文 字段 然而 当我运行时 它会填充 收件人 但会忽略其他额外内容 例如主题 正文和选择器文本 我在两台测试设备上看到了这种行为 一台运行
  • 编码:类型错误:write() 参数必须是 str,而不是 bytes

    我对 python 有初步的了解 但不清楚处理二进制编码问题 我正在尝试运行 firefox webextensions 示例中的示例代码 其中 python 脚本发送由 javascript 程序读取的文本 我不断遇到编码错误 蟒蛇代码是
  • 从返回堆栈返回后,片段不刷新内容

    我有一个ZooFragment其中包含一个ViewPager This ViewPager有三个孩子 LionFragment LeopardFragment and TigerFragment 每个子节点都可以请求事务来调用新的ZooFr
  • 在画布上绘制多个矩形

    我试图在鼠标移动时在画布上添加多个矩形 但是当我在图像上绘制矩形时 画布上的背面图像也会被清除 我不想删除它 我想要画布上有多个矩形而不清除画布图像 请检查下面的 JavaScript 代码 var canvas document getE
  • 我的客户端 socket.io 在哪里?

    我使用 Express 和 React Engine 创建了一个同构 React 应用程序 现在我正在尝试连接socket io 在快速设置中我有 var express require express var app express va
  • jQuery.post 改变 HTML 中的一些特殊字符

    TinyMCE 中的示例数据 和 以上HTML代码 p 10003 and 9786 9999 9986 p 之前 工作正常 在保存的文档中获得相同的字符 function save and submit var tinyGenData t
  • CSS:水平滚动时背景不存在

    好的 我的背景设置如下 HTML div div CONTENT HERE div div CSS container background url image gif content width 800px margin auto 因此
  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • Flask 环境变量被忽略(FLASK_ENV 和 FLASK_APP)WINDOWS 10

    After setting the environment variables FLASK ENV and FLASK APP running flask run will give me this error 该代码片段显示了命令提示符
  • Pytest报告摘要显示错误信息

    我对 pytest 挂钩和插件相对较新 我无法弄清楚如何让我的 pytest 代码为我提供测试执行摘要以及失败原因 考虑代码 class Foo def init self val self val val def test compare
  • 如何模拟MyBatis映射器接口?

    我正在为我的 Jersey Rest API 编写单元测试 该 API 在后台使用 MyBatis 这是我的课程结构 休息服务 Path api public class HelloRestService Inject HelloBean
  • 确定 NSView 是否绘制的正确方法

    有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制 考虑以下情况 视图完全在屏幕外 不是强制性的 该视图不在视图层次结构的顶部 The isHidden and isHiddenOrHasHiddenAncestor不