我需要为我的项目的所有视图制作自定义工具提示视图。这个工具提示视图具有特定的形状(五边形)、字体、字体颜色和背景颜色。当鼠标进入和鼠标退出视图时,它也应该有一个典型的延迟,就像系统工具提示一样。这样做的最佳方法是什么?
感谢您的回答
我需要为我的项目的所有视图制作自定义工具提示视图。
对于所有视图?大多数应用程序都有很多用户甚至不知道的视图——用于包含控件组等的视图。因此,为每个视图提供工具提示会很奇怪。工具提示通常与界面组件,实际使用做什么的,他们的目的是要告诉大家,什么是用户。这就是为什么您会看到NSControl
有管理工具提示的方法,但NSView
没有。
这样做的最佳方法是什么?
首先,确定您是真的想要每个视图的工具提示,还是您实际上只是想要 Cocoa 已经提供的相同类型的工具提示,但绘制方式不同。如果是后者,那么您可以对您使用的每种类型的控件进行子类化,并覆盖draw(withExpansionFrame:in:)
以绘制所需的工具提示类型。
如果你真的想要每个视图的工具提示,你可能会更好地实现你自己的系统。一种方法可能是在您的应用程序中使用某个对象来监视鼠标移动事件。您可以启动一个计时器来跟踪每个鼠标移动事件后经过的时间,每个新事件都会使旧计时器失效并启动一个新计时器。如果计时器到期,它可以向鼠标附近的窗口添加一个显示五角形“工具提示”视图的视图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句