macOS 11 Big Sur 中具有自定义视图的 NSMenuItem

2024-01-28

macOS 11 Big Sur 当前版本(beta 1 到 beta 6)有一个错误/功能,使得 NSMenuItem 难以使用自定义视图。具体来说,当菜单项突出显示时,项目的自定义视图不会调用draw(dirtyRect:)。

我通过 NSMenu 委托手动调用 draw(dirtyRect:) 方法,成功绕过了该错误:

func menu(_ menu: NSMenu, willHighlight item: NSMenuItem?) {
    if #available(OSX 11.0, *) {
        // fix for bug when an item with custom view won't be called to draw the highlighting state
        menu.items.filter{ $0.tag == 101 }.forEach{ $0.view?.needsDisplay = true }
    }
}

但这并不能解决绘制国家的谜团。 MacOS 11 Big Sur 具有新的 UI 外观。菜单项现在以不同的方式突出显示,其内容周围有圆形框。

我的问题是:我应该手动模拟该圆形框,还是新应用程序套件中有某种默认方式来绘制菜单项的圆形选择?

换句话说,在 macOS 11 Big Sur 中使用自定义视图的 NSmenuItem 的最佳方式是什么?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

macOS 11 Big Sur 中具有自定义视图的 NSMenuItem 的相关文章

  • 调用 NSTextField setStringValue: 后如何更新扩展工具提示大小?

    当视图包含NSTextField启用扩展工具提示且文本不适合 然后用户将光标悬停在该字段上 OS X 会显示扩展工具提示 如果你随后打电话setStringValue 更改文本内容NSTextField 扩展工具提示的大小不会更新 例如 如
  • 向 NSScrollView 添加大量视图

    我正在尝试添加一个子视图 来自NSViewController 对于字典中的每个元素NSScrollView获得某种表格视图 但对单元格具有更大的灵活性 是否可以 以编程方式 放置例如100 个子视图彼此放在一起 因此您必须向下滚动NSSc
  • Catalina 中的 NSButton 没有选中状态

    我在 Catalina 上将 NSButton 设置为复选框 并使用以下代码 莫哈韦沙漠没问题 let checkbox NSButton frame NSRect x 0 y 0 width 200 height 32 checkbox
  • Android 数据绑定与自定义视图

    The Android 数据绑定指南 http developer android com tools data binding guide html讨论了活动或片段中的绑定值 但是有没有办法使用自定义视图执行数据绑定 我想做这样的事情
  • 为什么此代码在 MacOS Big Sur Safari 上失败?

    我正在尝试使用 PDF 浏览器扩展程序在 MacOS Big Sur Safari 上进行 PDF 预览 我们有一个返回文件数据的 NET 框架 Web API 使用以下函数检索文件数据 export class AttachmentSer
  • 从 MainMenu 获取特定菜单项

    我有一个包含窗口的笔尖 winA xib 我的应用程序委托包含一个名为 WinAController 的 NSWindowController 子类 WinAController 有一个属性 NSMenu mainMenu 我想将其指向Ma
  • 未安装内核驱动程序 (rc=-1908) 在 macOS Big Sur 11.0.1 中出现错误

    我只想使用 VirtualBox 但现在遇到此类错误 我找不到合适的解决方案 Kernel driver not installed rc 1908 Make sure the kernel module has been loaded s
  • NSDatePicker 使用箭头键时行为不当

    我用过NSDatePickers 没有步进器 在列的单元格中NSTableView 日期选择器用于设置以小时 分钟和秒为单位的持续时间 如果我突出显示其中一个控件并使用箭头键设置值 日期选择器会显示一些奇怪的行为 每次按下向上箭头时 秒数都
  • SwiftUI macOS 右侧边栏检查器

    我有一个基于文档的 SwiftUI 应用程序 我想制作一个像 Xcode 中那样的检查器侧边栏 从 Xcode 的文档应用程序模板开始 我尝试了以下操作 struct ContentView View Binding var documen
  • 基于视图和单元格的 NSTableView

    Cocoa 中基于单元格的表格视图和基于视图的表格视图之间的主要区别是什么 我的理解是基于单元格的表格视图基本上用于显示字符串 基于视图用于自定义单元格 诸如拖动行 选择等用户事件可以在基于视图中处理 基于单元格的表格视图使用 object
  • 如何在 NSMenuItem 内绘制内联样式标签(或按钮)

    当 App Store 有更新时 它会在菜单项中显示一个内联样式元素 如下面屏幕截图中的 1 new 另一个我们可以看到这种菜单的地方是10 10 Yosemite的分享菜单 当您安装任何添加新共享扩展的应用程序时 共享菜单中的 更多 项目
  • 如何在 Mac OS 中按“alt+a”/“option+a”键绑定(“⌥+a”)时禁用生成特殊字符? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图禁用我的 Mac 中的一种行为 当我在任何文本编辑器中输入组合键时alt option 任何字母 输出将是特殊字符 例如 组合alt
  • 从命令行检测 Apple Silicon

    如何从 shell 脚本中检测到它正在 M1 Apple 硬件上运行 我希望能够运行命令行命令 以便我可以编写if 其主体仅在具有 M1 处理器的 Mac 上运行时才会执行 当然至少是 macOS Big Sur uname m 将返回ar
  • 如何采取行动关闭 NSPopover?

    您好 我在我的一个应用程序中实现了 NSPopover 但弹出窗口不会关闭 我猜一旦我单击其他内容 它应该关闭 但事实并非如此 我知道有一个关闭弹出窗口操作 但这只适用于不同的按钮 当我按下同一按钮时 如何才能看到弹出窗口已打开以及何时打开
  • macOS BigSur 上的 python 版本存在问题

    我的python版本有问题 我直接从网站下载并安装了最新版本的 python 3 9 0 但是当我使用 python version 命令从终端检查版本时 安装了 2 7 16 并安装了 PIP 包管理器 我得到了这个回复 DEPRECAT
  • 自定义View可以知道onPause已经被调用了吗?

    我有一个运行线程操作的自定义视图 该操作定期调用互联网 我想知道是否有一种方法可以让我不必从父 Activity onPause 中杀死该线程 以便在 Activity 后台运行 和 或杀死 后 线程不会在后台闲逛 这里的目的是让自定义视图
  • 接收 zsh:操作系统更新后通过终端 (Big Sur/M1) 运行任何命令后被杀死

    接收killed通过终端运行任何命令后的消息 例如 ls zsh killed ls 来自控制台的一些日志 Termination Reason Namespace CODESIGNING Code 0x1 kernel messages
  • 如何让 NSView 不裁剪其边界区域?

    我在 Xcode 上为 OS X 创建了一个空的 Cocoa 应用程序 并添加了 void applicationDidFinishLaunching NSNotification aNotification self view NSVie
  • NSMenuItem 中的自定义 NSView 未接收鼠标事件

    我使用 popUpStatusItemMenu 从 NSStatusItem 中弹出一个 NSMenu 这些 NSMenuItems 显示了一堆不同的链接 每个链接都通过 setAction 连接到目标的 openLink 方法 这种安排长
  • NSMenuItem with attributeTitle 包含 NSFont 对象,绘制带有基线偏移的标题

    我正在尝试使用系统中可用的字体列表创建一个 NSPopUpButton 看起来很明显的任务 但我失败了 我想 我错过了一些如此明显的事情 以至于我完全忘记了它 代码非常简单 let button NSPopUpButton button m

随机推荐

  • 为什么 NHibernate 需要将不可设置的成员设为虚拟?

    NHibernate 不仅要求域的可设置属性是虚拟的 而且还要求仅获取属性和方法 有谁知道这是什么原因 我无法想象可能的用途 原因是延迟加载 为了使延迟加载成为可能 创建了代理类 它must拦截来自 外部 的每个调用 以便在执行实际方法 属
  • 在 SQL Server 中创建和修改的序列号

    我需要向应用程序中的大多数实体添加序列号 因为我将并行运行 Lucene 搜索索引 我不需要运行持续的轮询过程 或者通过我的应用程序手动运行我的索引器 我正在考虑以下内容 Add a Created默认值为GETUTCDATE Add a
  • 如何验证 DataRow 对象中是否存在该列?

    private int EmploymentID get set private void MapFields DataRow row if row HasError EmploymentID Convert ToInt32 row Emp
  • React:为什么页面刷新时 state 或 props 为 null?

    我在页面的左框架上显示树视图 树是从 xml 文件生成的 单击每个节点时 组件将在页面的右侧框架中打开 ProductsTreeView 是树组件 Add Category 是单击树节点之一时将打开的组件 我通过路由传递道具 只要页面不刷新
  • 获取 BLE 设备的响应

    我对使用蓝牙设备还很陌生 到目前为止一切都很完美 但有一个问题我不知道如何处理 我有一个 LED 灯设备 我可以改变一切 从颜色到速度 闪烁 褪色等等 现在我想读取当前的设备状态 例如设备是打开还是关闭 我有一份该设备的文件 上面写着 询问
  • KLT 在 OpenCV 中如何工作?

    我很好奇 openCV 中 KLT 背后的逻辑 据我所知 OpenCV中发送的用于寻找光流的图像首先被转换为灰度 我很好奇的是 在运行算法时 我们需要一组用于计算的特征 openCV中求光流法有哪些特点 谢谢 光流有两种类型 密与疏 密集查
  • 使用标准的类型错误

    我阅读了文档和一些讨论该包的文章 但我是 Haskell 的新手 不太了解 但我尝试过 以下是我所做的 module Main where LANGUAGE BangPatterns import Control Parallel par
  • 性能计数器类别名称? (C#)

    我正在尝试将性能计数器编程到我的 C 应用程序中 该应用程序启动另一个进程并检查该启动进程的处理器使用情况 据我了解 性能计数器类要求我分配类别名称 计数器名称和进程名称 我可以很容易地获得进程名称 但是互联网上是否有某种列表包含我可以分配
  • Xcode Playground 上的 SwiftUI 和 foreach 问题

    我试图在 SwiftUI 中执行一个简单的代码 但它显示错误 执行被中断 原因 信号 SIGABRT 这是一个代码 struct ContentView View let data 1 100 map Item 0 let columns
  • 如何在 Mac Excel 2011 上创建 Web 查询?

    我正在尝试从工作表上的网站导入数据 但是当我单击从新数据库查询导入数据时 它显示错误 未安装 Microsoft Query 我到处搜索但找不到解决方案 请帮帮我 Mac 上的过程有点不同 在 Finder 中 转到 Application
  • 带边框的材质设计按钮

    我知道如何制作带有颜色填充的材料设计按钮 style style Widget AppCompat Button Colored 还有无边框透明按钮 style style Widget AppCompat Button Borderles
  • Android Studio 中的 Javadoc @link 引用

    我正在尝试使用 Android Studio 生成一些 Javadoc 我指的是 link method 与链接在同一类中的方法 但我仍然得到reference not found来自 Javadoc 的错误 我可能遗漏了一些非常愚蠢的东西
  • MongoDB - 聚合 ObjectId 上的 $match

    我有一个如下所示的架构 var mongoose require mongoose module exports mongoose model Owner username String blocks type mongoose Schem
  • file_get_contents 处理错误的好方法[重复]

    这个问题在这里已经有答案了 我正在尝试错误处理 file get contents 方法 因此即使用户输入了错误的网站 它也会回显错误消息 而不是不专业的信息 警告 file get contents sidiowdiowjdiso 无法打
  • iPhone 应用程序中的文档文件编辑[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人请建议我如何在 iPhone iPad 应用程序中编辑 Word 文档 我不会在我的应用程序中打开Word文档并更改字体样式和颜色并再
  • 关于应用层和数据库层之间的身份验证的意见

    我对一个技术困境感到困惑 我们团队中的两个人推荐了两种不同的安全模型 每种模型都有优点和缺点 绿地看起来像这样 我们有一个 ASP NET Web 应用程序 与业务层对话 与数据库对话 需求之一是能够让更高级别的用户将业务层权限委托给其他用
  • 从 jpeg 中删除文本

    我有一个包含 alpha 混合文本的 jpeg 知道字体和大小后 我推导出一个代表文本的 png 文件 使用 ImageMagick 我可以获得原始图片的近似值吗 实现此目的的一种方法是使用一种称为修复的技术 您可以在 Python Ski
  • 了解 iOS 崩溃 [SIGABRT ABORT]

    我刚刚收到来自 Crashlytics 的第一份崩溃报告 并正在尝试纠正该问题 不幸的是 它只包含一行在旧设备上运行的代码 因此我无法在 iPhone 6 上测试它 Crashlytics 的崩溃报告突出显示了两个线程 第一个内容如下 Fa
  • Singleton httpclient 与创建新的 httpclient 请求

    我正在尝试使用 HttpClient 在我的网络服务中创建层Xamarin Forms移动应用 没有单例模式 具有单例模式 in first方法我在每个新请求中创建新的http客户端对象 通过移动应用程序 这是我的代码 public Htt
  • macOS 11 Big Sur 中具有自定义视图的 NSMenuItem

    macOS 11 Big Sur 当前版本 beta 1 到 beta 6 有一个错误 功能 使得 NSMenuItem 难以使用自定义视图 具体来说 当菜单项突出显示时 项目的自定义视图不会调用draw dirtyRect 我通过 NSM