gpt4 book ai didi

cocoa - 我可以更改 NSScreen 可见框架吗?

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

我试图创建一个停靠在屏幕顶部、OS X 菜单栏下方的工具栏。

我不希望其他应用程序在最大化时能够与我的应用程序重叠。我可以使用 NSScreen 的visibleframe 方法获取可见框架尺寸,但是我可以调整visibleframe 以忽略应用程序的大小和位置吗?

最佳答案

简单的答案是,不,你不能。我认为更改屏幕 visibleRect 的唯一方法是将代码注入(inject) AppKit 并调整该方法。

即使如此,它也可能不会执行您想要的操作,因为该方法可能不是 Apple 用于确定 Windows“安全区域”的方法,并且几乎肯定不适用于 Carbon 应用程序。

您对窗位所做的任何操作都不会改变这一点。

可以做的是,如果您检测到窗口的框架已发生变化以致它们与工具栏窗口重叠,则使用辅助功能框架重新定位窗口。不幸的是,我认为您可能需要为此使用轮询。

关于cocoa - 我可以更改 NSScreen 可见框架吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7195383/

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