【问题标题】:Detect mouse over nsbezierpath在 nsbezierpath 上检测鼠标
【发布时间】:2013-12-17 17:09:21
【问题描述】:

我是一名初级开发人员,我有这个带有自定义视图的单窗口 Mac 应用程序。在该自定义 ceix 中,我定义了多个 nsbezierpath。 每个 nsbezierpath 代表我地图的一个区域,因此它们根本不是矩形。

我想要的是一种检测鼠标何时进入 nsbezierpath 的方法,以便我可以显示鼠标悬停的区域的名称。

我似乎找不到从哪里开始,有什么想法吗?

感谢您调查我的问题

【问题讨论】:

  • 你知道如何获取鼠标位置并点击测试贝塞尔曲线吗?具体是什么问题?
  • 我尝试添加 mouseMoved 方法,但它根本没有被触发。所以我想我错过了一些东西,但我不知道是什么。但是,我确实知道如何在触发 mouseDown 时获取位置。

标签: objective-c cocoa mouse mouseover nsbezierpath


【解决方案1】:

设置tracking area 以检测鼠标移动 (NSTrackingArea)。确保鼠标位置在视图坐标系中,然后在每个贝塞尔路径上调用containsPoint: 时使用该位置来确定鼠标在哪些路径上。

【讨论】:

    猜你喜欢
    • 2014-03-19
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2016-04-22
    • 2014-01-31
    相关资源
    最近更新 更多