gpt4 book ai didi

cocoa - 如何获取 NSView isHidden 更改的通知?

转载 作者:行者123 更新时间:2023-12-03 16:26:35 26 4
gpt4 key购买 nike

我正在构建一个 Cocoa 桌面应用程序。我想知道 NSView 的 isHidden 状态何时发生变化。到目前为止,使用目标/操作没有帮助,而且我在 NSNotification 中找不到任何用于此任务的内容。我想避免重写 setHidden 方法,因为那样我就必须重写我正在使用的所有 NSView 派生类。

更新:我最终使用了 KVO。 “isHidden”的路径是“hidden”,可能是因为 setter 是“setHidden”。

最佳答案

您可以使用Key-Value Observing观察 NSView 的 isHidden 属性。当您收到来自这些 View 之一的更改通知时,您可以使用 -isHiddenOrHasHiddenAncestor 检查该 View 或其 super View 之一是否已隐藏。

警告:正确进行键值观察有点棘手。我强烈推荐阅读this由 Michael Ash 发布,或使用 Google Toolbox for MacNSObject+KeyValueObserving 类别中的 -[NSObject gtm_addObserver:forKeyPath:selector:userInfo:options] 方法.

关于cocoa - 如何获取 NSView isHidden 更改的通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com