gpt4 book ai didi

objective-c - 如何区分不同的NSTrackingAreas

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:03 25 4
gpt4 key购买 nike

在我的主 NSWindow 中,我围绕不同的 NSTextFields(在下面表示为“obj”)设置了多个跟踪区域

var track: NSTrackingArea = NSTrackingArea(rect: obj.bounds, options: NSTrackingAreaOptions.MouseEnteredAndExited | NSTrackingAreaOptions.ActiveAlways | NSTrackingAreaOptions.CursorUpdate , owner: self, userInfo: nil)
obj.addTrackingArea(track)

override func mouseEntered(theEvent: NSEvent) { } 方法中,我希望能够为我指定的每个跟踪区域运行不同的 block 。我怎样才能分别识别每个跟踪区域?每个区域的唯一标识符是什么?

最佳答案

一种方法是在创建跟踪区域时使用 userInfo 字段。例如,为每个跟踪区域添加不同的 NSNumber。您收到的 NSEvent 对象有一个 userInfo 属性,可以为您检索此对象。

可能更优雅的方法是子类化 NSTrackingArea 因为 NSEvent 也有一个 trackingArea 属性。

关于objective-c - 如何区分不同的NSTrackingAreas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com