nswindow相关内容

在Cocoa中隐藏标题栏中的按钮

苹果人机界面指南上写着: macOS Human Interface Guidelines: Panels 如何制作该图像中的第一个标题栏(只有一个关闭按钮)。在IB中同时禁用调整大小和最小化只会导致“调整大小/最小化”按钮被禁用。但我想让他们消失。我如何才能做到这一点? 推荐答案 我相信这应该行得通: [[window standardWindowButton:NS ..
发布时间:2022-02-25 18:42:28 移动开发

显示模态 NSWindow,而不激活其他应用程序窗口

我有一个在 MenuBar 中正确显示的 NSStatusItem.其中一项(单击时)显示我的应用程序中的模态 NSWindow,它旨在执行一次性任务,然后消失.(例如,用户输入一小段文字,点击“保存",模态 NSWindow 消失.) 当应用程序在后台运行时会出现此问题.模态窗口正确地出现在前台运行的任何应用程序上方,但是当用户单击“保存"按钮时,应用程序的其余窗口也被激活.这是不可取的, ..
发布时间:2022-01-17 10:24:12 其他开发

单击外部时隐藏 MAAttachedWindow

我正在使用 MAAttachedWindow 在下显示自定义窗口菜单栏中的 NSStatusItem.一切正常,但是当用户在窗口外单击时,我找不到一种简单的方法来隐藏它.我想实现这种行为,因为它是用户所期望的. 这是用于显示MAAttachedWindow的代码: - (void)toggleAttachedWindowAtPoint:(NSPoint)pt {如果(!self.attac ..
发布时间:2022-01-15 11:46:19 移动开发

keyDown 没有被调用

我有一个名为 SurfaceView 的自定义 NSView.它是 NSWindow 的 contentView,它处理鼠标点击和绘图等基本事件.但不管我做什么,它不处理 keyDown 功能.我已经覆盖了acceptsFirstResponder,但没有任何反应. 如果重要,我会使用自定义 NSEvent 循环运行应用程序,如下所示: NSDictionary* info = [[NSB ..
发布时间:2022-01-13 22:31:09 移动开发

NSWindow contentView 未覆盖整个窗口大小 - macOS &用户界面

我正在使用 SwiftUI 启动一个新的 macOS 应用程序,但我遇到了一个大问题.该应用程序需要一个完整大小的 contentView(在 titleBar 下方),但我无法完成.在使用 Storyboards 的新项目中工作正常,但使用 SwiftUI 则不行. 我的代码: 结果: 它应该是这样的: 有什么想法吗?谢谢! 解决方案 我只是在AppDelegat ..
发布时间:2021-12-27 20:16:09 其他开发

如何以编程方式创建 Cocoa 窗口?

我的 Cocoa 应用程序需要一些动态生成的小窗口.如何在运行时以编程方式创建 Cocoa 窗口? 到目前为止,这是我的非工作尝试.我看不到任何结果. NSRect frame = NSMakeRect(0, 0, 200, 200);NSUInteger styleMask = NSBorderlessWindowMask;NSRect rect = [NSWindow contentR ..
发布时间:2021-12-17 23:12:58 移动开发

如何使用非矩形按钮创建透明窗口?

我希望制作一个看起来像这样的自定义窗口(更不用说快速的 photoshop)了: 我的主要问题不是让窗口透明(尽管我想任何信息都是受欢迎的!),但我希望能够只点击按钮的可见部分.例如,如果我在“5"左上角之外单击按钮,我希望它注册对“1"的点击.按钮而不是“5"按钮,即使我点击了按钮 5 的边界框.如果我点击“1"旁边的按钮的左上角“角",我希望它点击窗口下方的任何东西,而不是按钮.我还需要 ..
发布时间:2021-12-17 23:08:26 移动开发

保持窗口始终在顶部?

在 Cocoa 应用程序的 Objective-C 中,是否可以使用这种方式使窗口始终位于顶部? 如何用 Swift 实现同样的效果? self.view.window?.level = NSFloatingWindowLevel 导致构建错误Use of unresolved identifier 'NSFloatingWindowLevel' 解决方案 要更改窗口级别,您不能 ..
发布时间:2021-12-06 21:14:00 移动开发

使用 AppKit 以编程方式更改 macOS 上全屏应用程序的顺序

我正在尝试构建一个 macOS 实用程序,它允许我以编程方式更改机器上全屏应用程序的顺序. 例如,假设我机器上的全屏应用程序当前按从左到右的顺序排列: 铬 iTerm Xcode 我希望能够在 AppKit 中调用一个方法来说出诸如“将 Xcode 从全屏索引 2 移动到索引 0"之类的内容.但是,我无法确定可以帮助我做到这一点的 AppKit API. NSScree ..
发布时间:2021-11-16 20:31:38 其他开发

如何检查 NSWindow 是否打开

我有一个 NSWindow 可以关闭和重新打开(我调用了 [setReleasedWhenClosed: NO]).如何以编程方式检查它是打开还是关闭? 我已经阅读了文档并在谷歌上搜索过,但看不到一种明智的方法来做到这一点.[isVisible] 已弃用.[occlusionState] 不是我想要的.我已经使用通知解决了这个问题,但我不敢相信 NSWindow 上没有任何属性或方法来执行此 ..
发布时间:2021-11-16 20:30:48 其他开发

根据 NSOutlineView 高度动态调整 NSWindow 的大小

我已经阅读了许多关于动态调整 NSWindows 大小的问题的答案,但还没有完全奏效. 我已经构建了一个类似“popover"的窗口以从菜单栏显示,我无法使用 NSPopover,因为它在设计方面不够可定制.我的视图层次结构当前看起来像这样: NSWindow 子类- NSView(清除标题栏渲染,绘制弹出箭头)- NSView(内容视图)- NSOutlineView(主目录)- NSV ..
发布时间:2021-11-16 20:29:34 其他开发

如何在 NSWindow 关闭时获得通知

我怎样才能注意到 NSWindow 应该或将要关闭的时间?我想要一些类似 windowWillClose 的东西.不幸的是,NSWindowController 没有 UIViewController 那样方便的方法,例如.那么这样做的最佳做法是什么? 谢谢 -f 解决方案 根据 NSWindow 文档,一个窗口在即将关闭时会发布一个 NSWindowWillCloseNotifi ..
发布时间:2021-11-16 20:26:51 其他开发

在 Mac OS X (Lion) 上创建全屏覆盖的最优雅方式?

我正在寻找在 Mac OS X 下创建全屏覆盖的“最佳"方式.我想创建一个透明或半透明的覆盖,它关心鼠标事件并显示其他输入/输出元素. 此叠加层应位于所有其他 GUI 项目之上(如 CMD-Tab 叠加层). 你知道如何有效地做到这一点吗?目前我正在玩这种代码: int windowLevel = CGShieldingWindowLevel();NSRect windowRect = ..
发布时间:2021-11-16 20:25:49 其他开发

允许单击并拖动视图来拖动窗口本身吗?

我使用的是带纹理的窗口,它的顶部有一个标签栏,就在标题栏的下方. 我使用过 -setContentBorderThickness:forEdge: 使渐变看起来正确,并确保纸张从正确的位置滑出. 然而,不起作用的是拖动窗口.如果我单击并拖动实际上是标题栏的区域,它会起作用,但是由于标题栏渐变溢出到(可能/通常是空的)标签栏,真的点击太低很容易,感觉当您尝试拖动并意识到窗口没有移动时,真 ..
发布时间:2021-11-16 20:24:38 移动开发