swift 如何在可可(OS X)中创建自定义工具提示?

9udxz4iz  于 2023-05-05  发布在  Swift
关注(0)|答案(1)|浏览(148)

我需要为我的项目的所有视图做一个自定义工具提示视图。此工具提示视图具有特定的形状(五边形)、字体、字体颜色和背景颜色。它也应该有一个典型的延迟,像系统工具提示,当鼠标进入和鼠标退出视图。做这件事的最好方法是什么?
谢谢你的回答

1bqhqjot

1bqhqjot1#

我需要为我的项目的所有视图做一个自定义工具提示视图。

所有的意见?大多数应用程序都有很多用户甚至不知道的视图-视图用于包含控件组等。因此,为每个视图提供工具提示会很奇怪。工具提示通常与实际做某事的界面组件一起使用,它们的目的是告诉用户那是什么。这就是为什么NSControl有管理工具提示的方法,而NSView没有。

做这件事的最好方法是什么?
首先,确定您是否真的想要每个视图的工具提示,或者您实际上只是想要可可已经提供的相同类型的工具提示,但绘制方式不同。如果是后者,那么您可以继承您使用的每种控件类型,并重写draw(withExpansionFrame:in:)来绘制您想要的工具提示类型。
如果您真的需要针对每个视图的工具提示,那么最好实现自己的系统。一种方法可能是在你的应用程序中有一些对象monitor mouse moved events。您可以启动一个计时器来跟踪每个鼠标移动事件后经过的时间,每个新事件都会使旧计时器无效并启动一个新计时器。如果计时器超时,它可以在鼠标附近的窗口中添加一个显示您的五边形“工具提示”视图的视图。

相关问题