我有一個NSView的子類,我正在處理-mouseDown:事件以獲取屏幕上點擊的位置。有了這個位置,我定義了一個要用於繪製-drawRect矩形的點:它工作正常。設置時出現問題-setWantsLayer:在Lion上
但是,當我設置wantsLayer的東西是行不通的。當我得到輸入的位置時,我看到Y軸增加了20分,我不知道發生了什麼......任何人都可以解釋嗎?我如何解決這個問題?
模擬:
我點擊座標x:100; y:100;並且drawRect在x:100上繪製矩形; y:100;沒關係,這是我想要的。
隨着setWantsLayer:YES
我點擊在座標x:100; y:100;並且drawRect在x:100上繪製矩形; y:120; (或類似的東西)
是否可能我使用CALayers沒有設置-setWantsLayer爲YES?我試圖弄清楚這一點,但我不知道發生了什麼......我需要你的幫助。
更新:我想弄明白這一點,我現在做了很多測試... 現在我可以說,問題是與-mouseDown:從NSView,當我設置-setWantsLayer到YES它不不再像預期的那樣工作了......
我在我的窗口中有一個CustomView,我創建了NSView的子類並設置爲CustomView類。 CustomView在位置(0,20)。座標方向不翻轉。我相信當我設置爲NSView的時候希望圖層-mouseDown:更新幀到位置(0,0)(換句話說,它得到NSWindow幀)而不是(0,20)。當它發生在-mouseDown的每個位置時:在Y軸上增加20個點。我不知道我說的是對的,但是我得到的結果是我的測試結果。
有人可以幫我弄清楚這一點嗎?