首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当NSPopover在屏幕上时,使NSStatusItem的按钮保持突出显示

是通过以下步骤实现的:

  1. 首先,需要创建一个NSPopover对象,并设置其内容视图为需要显示的内容。
  2. 创建一个NSStatusItem对象,用于在菜单栏上显示按钮。
  3. 将NSPopover对象与NSStatusItem按钮关联起来,使得点击按钮时可以显示NSPopover。
  4. 在NSPopover显示之前,通过设置NSStatusItem的button属性的highlighted属性为true,来使按钮保持突出显示。
  5. 当NSPopover关闭时,通过设置NSStatusItem的button属性的highlighted属性为false,来取消按钮的突出显示状态。

下面是一个示例代码,演示了如何实现这个功能:

代码语言:swift
复制
import Cocoa

class ViewController: NSViewController {
    var statusItem: NSStatusItem?
    var popover: NSPopover?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 创建NSPopover对象并设置内容视图
        popover = NSPopover()
        popover?.contentViewController = NSViewController()
        
        // 创建NSStatusItem对象
        statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)
        
        if let button = statusItem?.button {
            // 设置按钮的标题和样式
            button.title = "Popover Button"
            button.action = #selector(togglePopover(_:))
        }
    }
    
    @objc func togglePopover(_ sender: Any?) {
        if let button = statusItem?.button {
            if popover?.isShown == true {
                // 关闭NSPopover并取消按钮的突出显示状态
                popover?.performClose(sender)
                button.highlight(false)
            } else {
                // 显示NSPopover并使按钮保持突出显示状态
                popover?.show(relativeTo: button.bounds, of: button, preferredEdge: NSRectEdge.minY)
                button.highlight(true)
            }
        }
    }
}

这个示例代码使用Swift语言和Cocoa框架来实现了当NSPopover在屏幕上时,使NSStatusItem的按钮保持突出显示的功能。在实际使用中,你可以根据具体需求进行修改和扩展。

腾讯云相关产品和产品介绍链接地址:

  • NSPopover类似的功能可以使用腾讯云的云服务器(CVM)来实现,详情请参考:云服务器
  • NSStatusItem类似的功能可以使用腾讯云的轻量应用服务器(Lighthouse)来实现,详情请参考:轻量应用服务器
  • NSPopover和NSStatusItem的相关开发工具和文档可以在腾讯云开发者平台中找到,详情请参考:腾讯云开发者平台 请注意,以上链接仅为示例,实际使用时请根据具体需求选择适合的腾讯云产品。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mac开发基础练习:制作一个状态栏(NSStatusBar)App(一)

项目开发是最有效果学习途径(没有之一),现在我们从开发一个小状态栏App入门,通过逐步实现功能,来渐渐上手熟悉Mac OSX基础控件使用方法。...项目名称 Mac OSX系统中,屏幕右上角就是我们说状态栏(NSStatusBar),一直是常驻应用必争之地。...添加图片资源到项目工程中 如果没有出错,运行项目,你应该看到一个空窗口,而且屏幕右上角已经出现了我们应用常驻标志^_^,是不是感觉很容易啊~ ?...项目运行结果 这时你点击状态栏图标,它没有任何反应,因为我们还没有给它添加事件响应方法。我们希望点击它能够弹出一个视图,显示内容或者功能,下面我们就来接着实现它。...NSPopover 提供了屏幕内容视图上显示额外信息内容一种方式(其实这个类似于iPad开发中是常见UIPopoverPresentationController),它定位相对与现有内容。

2.2K20

远程,你分辨率低于A×B,某些项目可能无法屏幕显示

图片.png 跟云平台没关系,跟客户端远程软件和客户端硬件有关 比如客户端屏幕最大就1366*768,那你再怎么调也达不到1920*1440 你客户端屏幕足够牛逼,范围足够广,用multidesk 随便调整窗口...推荐远程软件multidesk,可以远程分辨率自适应窗口大小,最大可以屏幕那样大,其他看你把multidesk窗口调多大,调好窗口大小后重连就会填满整个窗口,用mstsc有个弊端在这里有提到...分享个Windows远程会话管理工具,非常赞,谁用谁知道 我最喜欢它地方在于:Multidesk能自适应窗口大小而没有水平或垂直滚动条。...(如果是Windows系统自带mstsc,除非屏幕是严格16:9分辨率比如1600×900、1920×1080,否则远程全屏后就是有水平或垂直滚动条,我很烦这一点。)

4K30
  • Human Interface Guidelines —— 概览

    直接操作(Direct Manipulation) 直接操作屏幕内容能够吸引用户并促进对内容理解。 用户旋转设备或使用手势来影响屏幕内容时会体验到直接操作。...点击,互动元素会短暂突出显示,进度indicators可以传达长操作步骤位置,而动画和声音有助于明确操作结果。...隐喻(Metaphors) app虚拟对象和动作是对熟悉体验隐喻,人们可以更快地学习——无论是植根于真实还是数字世界。 隐喻iOS中运行良好,因为人们与屏幕进行物理交互。...最好app让用户做决定和直接避免不期望结果之间找到了正确平衡。 app通过保持交互元素熟悉性和可预测性,确定破坏性行为、使进行中取消操作变得容易,来让用户感觉自己掌控大局。...它们具有适应性,使您能够设计出一款iOS设备看起来很棒app,并且系统引入外观变化时自动更新。

    76080

    Material Design —悬浮响应式按钮(Buttons: Floating Action Button)

    点击,它可能包含更多相关操作。 用法 每个屏幕只推荐一个悬浮响应式按钮来表示最常用操作。 行为 默认情况下,悬浮响应式按钮屏幕以动画形式展开。...如果按钮各个屏幕动作保持不变(如有必要,则转换为新位置),该按钮保持屏幕。 列表 悬浮响应式按钮下面的列表应该在它们下面有足够空间,以便它们内容不被按钮挡住。...带标签屏幕 带标签屏幕,悬浮响应式按钮不应以与内容相同方向退出屏幕。...如果悬浮响应式按钮变形为工具栏,则该工具栏应包含相关操作。 ? 工具栏中操作需关联 Speed dial 按动悬浮响应式按钮可以甩出相关动作。 菜单被唤起后,该按钮保持屏幕。...该列表不应包含无关操作。 ? 变形 浮动操作按钮可以转换为属于应用程序结构一部分材料。 这种戏剧性变化突出按钮所能实现动作。 悬浮响应式按钮变形,以有逻辑方式开始和结束位置之间转换。

    5.8K90

    最新iOS设计规范四|3大界面要素:视图(Views)

    提供“取消”按钮使人们可以重新考虑破坏性操作。“取消”按钮应出现在动作表单底部。 突出显示破坏性选择。将红色用于执行破坏性或危险操作按钮,并将这些按钮显示动作表单顶部。 避免让操作表滚动。...除非在极少情况下,必须提供指导,那么可以用“点击”这个词,引用按钮保持大写,不要在引号中包含按钮标题。 警示框按钮 使用双按钮警示。双按钮警示框给予了用户一个比较容易双选项选择方式。...仅当用户点击取消按钮才取消当前任务。 屏幕适当位置显示浮层。浮层箭头应尽可能直接指向触发它元素。因为浮层不能在屏幕拖动,所以浮层不能覆盖屏幕太多内容。也不能覆盖触发它元素。...滚动视图缩放选项被打开,设置比较合适最大及最小值。例如:放大文本直到一个单一字符充满整个屏幕,即使其可能对于大部分应用来说是没有意义滚动视图处于页面模式考虑显示页面控制元素。...如果某行支持删除并且有助于提供清晰性,请将系统提供删除标题替换为自定义标题。 在用户做出选择给予相应反馈。用户与列表进行交互,希望被点击列表可以突出显示

    8.5K31

    最新iOS设计规范七|10大视觉规范(Visual Design)

    保持对齐让用户浏览更简单,并传达组织和层级关系。对齐使APP看起来整洁有序,用助于用户滚动集中注意力,并使查找信息变得更加容易。缩进和对齐还可以表明内容之间关系。...屏幕底部出现一个全角按钮,如果该按钮具有圆角并与安全区域底部对齐,则该按钮最佳,这也确保了它与“Home”指示器不冲突。 ? 对于关键显示功能,不要掩盖或特殊强调。...深色模式下,系统为所有屏幕、视图、菜单和控件使用较暗色彩,并使用更具活力颜色,使前景内容较暗背景下突出。深色模式也支持所有辅助功能。...例如:当用户使用iPad,就不要显示iPhone 提示或图标。保持与平台一致语言。你可以点击、轻击、滑动、捏和拖动触摸屏内容。你可以按物理按钮和内容来响应3D Touch。...某人选择较大尺寸,他们希望使自己关心内容更易于阅读;他们并不总是希望屏幕每个单词都更大。 最小化您在界面中使用字体数量。混合使用太多不同字体可能会使您应用显得支离破碎和草率。

    8.1K30

    Snagit for mac(强大屏幕截图工具)

    如果您想要突出显示图像某些地方,或者您需要录制视频演示文稿,那么请使用snagit Mac版屏幕截图工具,使用其内置强大工具编辑内容,为您节省工作时间。...更先进屏幕录像机可为您提供更流畅,更专业录音。2.明智之举切换以自动使屏幕对象捕获可移动。重新排列按钮,删除文本或编辑屏幕截图中其他元素。...现在,即使您正在记录软件或技术发生变化,您图形也始终保持最新状态。3.抓住文字Grab Text快速从屏幕截图中提取文本。从错误消息,弹出窗口或文件菜单中捕获屏幕文本。...快速排列文本块,标注和形状等项目,并以精确像素精确排列。6.更新其他模糊选项(Mac)我们对Mac模糊选项进行了新改进。您现在可以平滑模糊或像素化之间进行选择。...新移动应用我们最近发布了两个全新iOS应用程序,可让您直接在iOS设备创建内容。TechSmith Motion通过视频效果和文本叠加突出显示产品或品牌,将您移动设备静态图像变为现实。

    1.8K30

    UX 设计之——商品详情页

    为了保证文本清晰易读,你应该让字体大小至少保持11pt以上(即使用户选择了小字体),而且贯穿整个程序字体应该是一致。另外,一个好经验是每行使用30-40个字符。 ? (2)对比度。...三、触发动作按钮 用户永远都不应该还要花时间去找那些操作按钮——屏幕中最主要按钮(如“加入购物车”、“立即预订”)应该设计最为突出,使得用户能够自然而然注意到,紧随其后那些按钮(如“分享”、“...收藏”)按钮则在设计也要接近于前者视觉效果。...如果答案是否定,那么给它一个未在页面中其他地方使用颜色或者让它更大、字体更粗来让其变得突出。 ? 2、按钮要常显 你应该使主要按钮一直显示,即使你滚动屏幕内容,也要使它留在屏幕底部。...请记住,在做出一个购买决定时,用户受感性和理性因素影响,成功商品页面则能够向用户传达出这两方面的信息——他们情绪刺激用户兴奋,在理性则让用户能放心购买。

    1.2K60

    如何在网页设计中实现深色模式:增强用户体验

    深色模式使许多用户观看更加愉快,尤其是长时间使用屏幕。对于花费大量时间在数字设备上工作或上网的人来说,深色模式是理想选择,因为它亮度和眩光较低,有助于最大限度地减少眼睛疲劳。...能源效率:使用深色模式,尤其是具有 OLED(有机发光二极管)屏幕设备,可以帮助减少能源消耗。由于 OLED 显示每个像素单独发光,因此黑色像素比发光像素消耗更少电量。...深色模式界面可以通过使用深色背景和减少浅色像素数量来帮助延长移动设备电池寿命并降低笔记本电脑和台式显示能耗。 视觉焦点和注意力:您可以故意在网页使用深色模式来突出显示特定材料或方面。...设计师可以通过用深色背景包围突出元素来营造对比感和强调感。这有助于将用户注意力引导到号召性用语、重要信息或视觉资产。这可以增强用户交互并使网站导航更加用户友好。...'伪类选中切换按钮应用暗模式样式。

    21910

    一篇文章读懂UI按钮设计细节与规范

    按钮是一种可以让用户产生对其描述作用交互式元素。咱们打个赌,如果一个按钮显示“保存”,那么单击它很可能会“保存”某些内容。按钮也是任何数字产品中最重要交互元素之一。 ?...你最应该知道一件事 一个按钮应该看起来就像是“按钮” 设计按钮最重要原则是让其足够突出,不会与其它任何东西混淆在一起。 ?...如下图,如果按钮上下两侧可以放下一个W的话,侧面,最合适情况是放下两个W,以此来提高可读性。 ? 另外不要忘记保持按钮之间安全空间。...边缘平衡 如果你使用是圆角按钮,请记住将正确圆角比率与屏幕其它元素对齐。在所有的情况下使用一种设置会造成视觉边际不平衡。 ? 对角线间距与左侧和底部对角线间距相同。...这样可以更好更快处理外部边缘。 ? 对角线间距大于(左侧)间距,小于(右侧)间距。这会使边缘突出太多,使注意力从按钮本身上移开。如上图两种都是错误例子。

    3.8K30

    七个用户体验设计小秘诀,打造最舒服互动流程

    关注用户主要目标,并从中删除所有障碍: 将大任务分解成小且有意义任务 将屏幕操作设置为优先级。突出显示核心操作(与用户目标直接相关),并隐藏所有辅助操作。...信息超载总定义如下: 系统输入量超过其处理能力,会发生信息过载现象。决策者认知处理能力相当有限。因此,信息发生超载情况,决策质量也会降低。...在用户界面中突出显示具有高优先级和频繁使用路径和目的地。使用这些路径定义您导航。 (3)使之可见。 Jakob Nielsen says,认识一些东西比记住它更容易。...iOSPocket应用程序中,所有导航控件都在页脚中。手机保持正常,可以方便地到达。...而不是显示一个加载指示器,使用屏幕架构来专注于实际进度,并创造对将来预期。这意味着事情正在发生,随着信息逐渐显示屏幕,人们看到应用程序等待正在进行中。

    2.4K60

    Mac开发跬步积累(二):NSViewController 转场动画精耕细作

    ,供有项目经验或对组件化感兴趣同学参考. 0x00 : extension NSViewController macOS 10.10之后,关于NSViewController,苹果公司专门一个...添加需要切换子控制器: RedController 和BlueController 为自定义两个控制器,仅显示不同视图颜色....中,控制器转场切换无论是presentViewController方式或者transition方式,本质都是将要显示控制器视图View,通过addSubView方法添加到容器视图中展示....自定义present 动画,需要注意事件穿透问题: 由于显示出来控制器视图(Controller View)是通过addSubView方式添加到容器视图中,因此控制器视图(Controller...View)上进行点击操作,可能会触发容器视图中控件(比如按钮)方法 解决办法: 给容器视图添加一层背景视图(自定义NSView, 重写mouseDown方法即可),通过背景视图屏蔽鼠标操作,防止事件穿透到容器视图中

    2.7K40

    最新iOS设计规范六|10大交互规范(User Interaction)

    支持后台读取设备,系统会在屏幕亮起自动查找附近兼容标签。检测到标签并将其与APP匹配后,系统会显示一个通知,用户可以点击通知将标签数据发送到APP进行处理。...许多系统APP导航栏中,都包含一个清晰且可点击返回按钮。但是用户也可以通过从屏幕侧面滑动来返回一页。iPad,用户还可以通过按Home键或使用四指捏手势退出主屏幕。...触摸并按住(Touch and Hold):以可编辑或可选文本形式执行时,突出显示指尖下文本并显示编辑菜单。...其轻压屏幕且获得相应响应同时,便意味着其发现了一个新交互维度。 主屏幕交互 支持3D Touch设备屏幕,按压应用图标即可唤醒相应操作视图。...拖动内容,用户可以通过多任务处理,退出到主屏幕或从屏幕底部向上滑动以显示Dock来访问另一个应用程序。 支持拖放 使拖放可用于所有可选和可编辑内容。 如果适用,允许将内容拖放到控件

    4.2K30

    Material Design — 菜单(Menus)

    菜单 菜单形式是短暂动作条展示选项列表。 菜单出现在与按钮,操作或其他控件交互中。菜单显示是一个一行只有一个选项选项列表。 如果不适用于某个情景,菜单项可能被禁用。...单个菜单项状态 某些app状态可能会导致只有一个菜单项情景菜单。 例如,使网页文本高亮,Android仅显示“复制”菜单项,因为用户无法“剪切”或“粘贴”文本。 ?...取消选择 触摸菜单外部或按下系统“后退”按钮,取消操作并关闭菜单。 ? 简单菜单 ·打开,简单菜单会尝试将当前选定菜单项目与列表项目垂直对齐。 当前选择菜单项突出显示(如下图)。 ?...·简单菜单也应该应该显示在其触发元素,而不是下面(如下图)。 ? ·菜单宽度取决于字符串长度,移动设备定义为56dp单位倍数。...·简单菜单始终屏幕左侧和右侧保持16dp留白(手机)或24dp留白(平板)。 ? ·如果简单菜单中文本长到需要换行,就改为使用Simple Dialogs,因为可以有不同高度行(如下图)。

    5.8K100

    如何修复iPhone绿屏问题?尝试这些解决方案

    iPhone绿屏.jpg 在这篇文章,我们将帮助你了解iPhone出现绿屏原因,以及解决此问题并使iPhone恢复正常方法。...iPhone出现绿屏原因 造成iPhone绿屏问题原因可能有多种。常见原因包括屏幕老化、显示设置不当、iOS系统错误、OLED/LED屏幕或驱动损坏等等。...iPhone 8及更新机型用户可以快速按下并松开音量调高按钮,然后快速按下并松开音量调低按钮。最后按住电源按钮直到苹果标志出现在屏幕。...iPhone 7和7 Plus机型用户可以同时按住电源和音量调低按钮10 秒钟,苹果标志出现在屏幕松开。...方法二、更改iPhone显示设置 iPhone绿屏问题通常是由错误屏幕选项和显示设置引起。因此你可以尝试更改iPhone显示设置。

    3.2K00

    Human Interface Guidelines —— Popovers

    Popover Popover是一个短暂视图,您点击某个控件或某个区域,它会出现在屏幕其他内容上方。 通常,Popover包含指向其出现位置箭头。...popover出现时,通常不能与其他视图进行交互,直到popover被关闭。 使用popover显示屏幕内容相关选项或信息。...·自动关闭非模态popover始终保存工作数据 通过点击屏幕另一部分很容易无意中消除非模态popover。但是只有当用户点击明确取消按钮才丢弃之前数据。...·将popover放在屏幕中适当位置  popover箭头应直接指向弹出它元素。由于popover无法屏幕拖动,因此popover不应包含人们使用popover可能需要查看基本内容。...·一次显示一个popover 显示多个popovers使界面变得混乱并引发困惑。永远不要显示一个堆叠或几层由上个popover引出popovers。

    1.3K110

    Excel小技巧79:如何跟踪Excel工作簿修改

    “位置”选项允许你仅跟踪电子表格特定部分更改。只需单击右侧按钮,然后选择要跟踪单元格范围。 最后,如果你不想让其他人知道你正在跟踪更改,可以取消选中“屏幕突出显示修订”选项。...图3 另外,如果你单击一个改变了单元格(开启“屏幕突出显示修订”),会得到一个小弹出窗口,显示值改变了什么及什么时候改,如下图4所示。...如果取消选中“屏幕突出显示修订”选项,则不会显示黑色小三角形。 ?...查看更改 开启跟踪并进行一些更改后,可以再次单击“修订——突出显示修订”按钮,你将注意到“新工作表显示修订”复选框不再是灰色显示,如下图6所示。 ?...值得注意是,如果另一个单元格引用了被拒绝单元格内容,那么引用单元格值恢复,其值也会更改,这可能导致公式中断等,因此要小心。

    6.4K30

    Snagit for mac(强大屏幕截图工具)汉化直装版

    全新图像编辑功能可让您真正转换屏幕截图。文本捕获等熟悉功能可以带来回报。更先进屏幕录像机可为您提供更流畅,更专业录音。2.明智之举切换以自动使屏幕对象捕获可移动。...重新排列按钮,删除文本或编辑屏幕截图中其他元素。现在,即使您正在记录软件或技术发生变化,您图形也始终保持最新状态。3.抓住文字Grab Text快速从屏幕截图中提取文本。...6.更新其他模糊选项(Mac)我们对Mac模糊选项进行了新改进。您现在可以平滑模糊或像素化之间进行选择。新移动应用我们最近发布了两个全新iOS应用程序,可让您直接在iOS设备创建内容。...TechSmith Motion通过视频效果和文本叠加突出显示产品或品牌,将您移动设备静态图像变为现实。TechSmith Capture会记录您屏幕,以进行完美的培训和应用演示。...抓住Mac改进如果您在Mac使用Grab,现在可以将其直接保存到Snagit。

    1.3K20

    从零开始Android:常见UI设计模式

    顾名思义,您以列表格式显示数据,单击该列表中项目,它将打开一个显示更多详细信息屏幕。 尽管此模式称为列表和详细信息,但没有理由也不能将相同逻辑应用于网格设计。...此模式关键特征是,列表/网格中每个项目在被选中都应执行显示更多详细信息相同操作。...浮动动作按钮 浮动操作按钮模式使开发人员可以突出显示用户应用程序一部分中可以执行单个操作。...请勿将这种模式用于次要动作或任何具有破坏性操作,因为浮动动作按钮旨在在使用时屏幕上有很强显示感。 3....用户可以几行项目之间移动,然后水平滚动以查看他们可用内容。 当用户找到要查看项目,可以选择该项目以查看详细信息屏幕,该屏幕提供了该项目的操作列表。

    2.7K20
    领券