類似我想開一個覆蓋窗口(彈出窗口)當用戶在我NSTableView
類似選擇在iCal事件選擇小區。在iCal中選擇事件會顯示一個窗口來編輯事件,但通過平滑地將窗口動畫化並添加指向底層日曆中的箭頭的箭頭來實現。有人知道這裏使用了什麼嗎?這是一堆隱藏/自定義API還是可供公衆使用?可可彈出窗口到iCal
回答
編輯窗格似乎是一個自定義的無邊框,具有自定義視圖透明窗口(視圖定義形狀並因此定義它投射的陰影)。瞭解更多信息here。你甚至可以使用MAAttachedWindow。
關於動畫,這是因爲詢問窗口的動畫的動畫幀和α值(分組在一起)一樣簡單。您可能首先想要直接在「開始位置」設置所有內容(即,當窗口在屏幕外時,將其alpha設置爲零,並將其幀設置爲較小的版本,以便「放大」la iCal ),然後把它在屏幕上,並開始分組的動畫:
[NSAnimationContext beginGrouping];
[[window animator] setFrame:someNewSlightlyLargerFrame];
[[window animator] setAlphaValue:1.0];
[NSAnimationContext endGrouping];
一旦分組結束,動畫將開始(異步)和你的代碼將繼續執行。需要思考的是首先讓所有的東西「上演」(包括確保你的窗口的子視圖事先已經更新,所以它們不會在你的動畫中間發生變化......除非你想要它們)。
所以你需要了解的兩個獨立技術是一個自定義窗口和基本的可可動畫。
你是否在談論甚至從iCal應用程序底部的列表中選擇?
不知道你是指什麼來,但有一個時間跨度內的動畫轉換的API。
綜觀其他蘋果的應用程序,蘋果的開發利用提供給其他人相同的API(主要是我猜的)。有很多東西是可定製和蘋果定製任何需要,直到它看起來正確的,從設計的角度來看...
如果您正在使用OSX 10.7及以上,NSPopover
會做你找的工作。
這裏是一個[教程](http://www.youtube.com/watch?v=P6HX0K7ulSY) – fengxing 2013-06-09 05:22:06
- 1. 讓彈出窗口與可可觸摸
- 2. 子窗口彈出窗口的父窗口可見性
- 3. JavaScript中的可拖動彈出窗口
- 4. WP8:沒有可用的彈出窗口?
- 5. openidbutton可以用於彈出窗口嗎?
- 6. 彈出窗口不可滾動
- 7. IE彈出窗口不可調整
- 8. 模態彈出窗口 - 可用性
- 9. Java Swing彈出窗口的可見性
- 10. android彈出窗口可點擊
- 11. 可變大小的彈出窗口
- 12. 可拖動jQuery的彈出窗口
- 13. 是否可以像UIWebView中的窗口一樣彈出一個彈出窗口?
- 14. 彈出窗口:當彈出彈出窗口時關閉彈出
- 15. GEF可以使用SWT窗口作爲彈出窗口嗎?
- 16. 是否有可能在jquery mobile中彈出(父)彈出窗口?
- 17. CSS持久信息彈出窗口,彈出可用HTML
- 18. 淡出可可窗口
- 19. 彈出窗口
- 20. Android彈出窗口在彈出窗口外彈出時解僱
- 21. 可能會重新定位Adobe Flash許可彈出窗口?
- 22. 下拉窗口編輯可可彈出菜單項
- 23. 可調焦彈出式窗口,帶有可調焦背景
- 24. 發佈到PHP彈出窗口的可點擊的HTML錶行
- 25. UIPopoverController:dealloc在彈出窗口仍然可見時到達
- 26. 可可得到主窗口
- 27. openerp可編輯窗體查看彈出窗口
- 28. 彈出式彈性窗口
- 29. 退出彈出式窗口與彈出式窗口
- 30. ie8彈出窗口
非常感謝你們,MAAttachedWindow的鏈接也很讚賞,那裏有一些很棒的東西。 – MarkPowell 2009-11-12 18:58:18