2
我創建了一個NSTrackingArea
,我在userInfo
參數中傳遞字典。從NSEvent中讀取字典userData
let trackingData = ["section": 1, "sectionRow": 12, "done": false]
let trackingArea = NSTrackingArea(
rect: cellView.bounds,
options: [NSTrackingAreaOptions.MouseEnteredAndExited, NSTrackingAreaOptions.ActiveAlways],
owner: self,
userInfo: trackingData as? [String : AnyObject])
cellView.addTrackingArea(trackingArea)
此事件在此處成功收到;
override func mouseEntered(event: NSEvent) {
print("Mouse Entered \(event.userData)")
}
如何從userData中讀取section等的值?
這正是我試圖去做的。但它給了我這個錯誤:無法將類型'String'的值轉換爲期望的參數類型'Int' –
'NSTrackingArea'將'userInfo'字典傳遞爲'[NSObject:AnyObject]?',因此您必須將字典轉換爲更具體的東西。而且你還必須明確地閱讀跟蹤區域。我更新了答案。 – vadian
我剛剛注意到了,謝謝@LeoDabus – vadian