2011-02-07 65 views
4

如何在顯示簡單的nswindow時添加某種CoreAnimation效果?可可 - NSWindow動畫何時顯示?

謝謝

+0

你可以更具體的關於你想要什麼樣的動畫? – Richard 2011-02-07 21:39:12

+0

「翻轉」動畫有點像我喜歡的動畫,所以對用戶來說不會那麼突然。 – lab12 2011-02-07 21:53:45

回答

6

我已經做了一個像你之前描述的動畫。然而,這不是一件容易的事。由於您的動畫超出了窗口本身的範圍,因此您需要在超大的透明窗口中渲染動畫。動畫完成後,您可以在實際窗口中進行排序並刪除透明窗口。

您需要將窗口的圖像用作動畫的內容,因此我要做的是將窗口排序(也可能使其成爲關鍵窗口,以便它看起來專注),但把它放在屏幕外,所以用戶看不到它。然後使用CGWindowListCreateImage獲取窗口的屏幕截圖。現在您將擁有創建動畫所需的內容。

動畫完成後,只需將透明窗口頂部的真實窗口排序,然後移除透明窗口即可。正確獲得數學,以便動畫窗口和真實窗口的圖像有點棘手,但它絕對是可行的。