gpt4 book ai didi

macos - NSMenu 最小宽度 : pressing ⌥ causes custom view to ignore the minimum width

转载 作者:行者123 更新时间:2023-12-03 17:18:46 25 4
gpt4 key购买 nike

我正在编写一个状态菜单应用程序,其中一个菜单项中心有一个大图像。到目前为止,它一直运行良好,直到我尝试在状态菜单上设置最小宽度。

当我按 ⌥(选项)键使用备用菜单项时,包含图像的自定义 View 会将自身大小调整为没有最小宽度时的大小。

这里有一些图片说明了问题,分别是按住 ⌥ 之前和之后。灰色是一个自定义 View ,应该拉伸(stretch)以覆盖整个宽度。

before after

只要菜单打开,即使在释放 ⌥ 后,问题仍然存在,但当菜单关闭并重新打开时,问题就会消失,直到再次按下 ⌥。

我的系统版本是Mac OS X v10.12.6 (Sierra)。我的 View 自动调整大小蒙版是这样的:

let autoresizingMask: NSView.AutoresizingMask = [.minXMargin, .minYMargin, .maxXMargin, .maxYMargin, .width, .height]

编辑:如果我使 View 在菜单项中居中并且不拉伸(stretch)(没有 .width.height),它仍然向左移动。

最佳答案

我刚刚意识到解决方案非常简单。我只需要将自定义 View 的框架宽度设置为状态菜单的最小宽度。

let r = NSRect(x: 0, y: 0, width: statusMenuMinWidth, height: h)

关于macos - NSMenu 最小宽度 : pressing ⌥ causes custom view to ignore the minimum width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47231164/

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