如何检查 NSWindow 是否打开
How to check if an NSWindow is open
我有一个可以关闭和重新打开的 NSWindow
(我调用了 [setReleasedWhenClosed: NO]
)。如何以编程方式检查它是打开还是关闭?
我已经阅读了文档并进行了 Google 搜索,但没有找到一种合理的方法来执行此操作。 [isVisible]
已弃用。 [occlusionState]
不是我想要的。我已经使用通知解决了这个问题,但我不敢相信 属性 或 NSWindow
上没有一些方法可以做到这一点
您利用了 NSWindow 的屏幕 属性。如果 window 在屏幕外,它将 return 为零。请检查 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html#//apple_ref/occ/instm/NSWindow/screen
-[NSWindow isVisible]
并没有真正弃用。
对于 10.10 SDK,Apple 将一堆非正式属性转换为声明属性。非正式的 属性 是只声明了访问器的一个,可能只是一个 getter 方法。声明的 属性 使用 @property
.
因此,他们删除了如下内容:
- (BOOL) isVisible;
并添加:
@property (getter=isVisible, readonly) BOOL visible;
请注意,两者仍然暗示存在具有 BOOL
return 类型的 -isVisible
getter。
他们用来根据对 headers 的更改生成文档的工具导致文档声称 -isVisible
已被弃用,但这是错误的。
但请注意,-isVisible
对已最小化或 "open" 但在隐藏应用程序中的 window 报告错误。
我有一个可以关闭和重新打开的 NSWindow
(我调用了 [setReleasedWhenClosed: NO]
)。如何以编程方式检查它是打开还是关闭?
我已经阅读了文档并进行了 Google 搜索,但没有找到一种合理的方法来执行此操作。 [isVisible]
已弃用。 [occlusionState]
不是我想要的。我已经使用通知解决了这个问题,但我不敢相信 属性 或 NSWindow
上没有一些方法可以做到这一点
您利用了 NSWindow 的屏幕 属性。如果 window 在屏幕外,它将 return 为零。请检查 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html#//apple_ref/occ/instm/NSWindow/screen
-[NSWindow isVisible]
并没有真正弃用。
对于 10.10 SDK,Apple 将一堆非正式属性转换为声明属性。非正式的 属性 是只声明了访问器的一个,可能只是一个 getter 方法。声明的 属性 使用 @property
.
因此,他们删除了如下内容:
- (BOOL) isVisible;
并添加:
@property (getter=isVisible, readonly) BOOL visible;
请注意,两者仍然暗示存在具有 BOOL
return 类型的 -isVisible
getter。
他们用来根据对 headers 的更改生成文档的工具导致文档声称 -isVisible
已被弃用,但这是错误的。
但请注意,-isVisible
对已最小化或 "open" 但在隐藏应用程序中的 window 报告错误。