回答
最好的方法可能是練習。首先嚐試繪製一些簡單的東西:日曆(基本上是網格),自定義按鈕或數字時鐘。
其還值得注意的是,有很多的「自定義」控制從圖像中取得,因此不是多圖紙在代碼完成 - 該代碼做的唯一的事情是那些拼接圖像一起。
無論您選擇何種UI工具包,都需要使用代碼繪製來創建自定義控件。在代碼中繪圖當然有其優勢,例如,您構建的應用程序/框架實際上是輕量級的,因爲會有很多資源(圖片/字體/等)需要擔心。
此外,如果出現問題,更改代碼中的繪圖比重新編寫代碼和圖像要容易得多。
如果你正在做可可繪圖開始通過查看源代碼BGHudAppKit和閱讀Cocoa Drawing Guide by Apple。
您可能想看看Opacity,OS X的繪圖應用程序(我不附屬於這些人,剛發現應用程序在幾天前)。使Opacity與其他繪圖應用程序不同的是,它可以直接從您的繪圖中創建Quartz代碼。當然,生成的代碼並不完美,但在幾天來我一直在嘗試這個應用程序,我發現它在理解如何更有效地使用Quartz方面非常有幫助。
@Ole Bergemann:+1 for Opacity。 – 2010-04-24 14:12:47
您可能還想查看** [PaintCode](http://www.paintcodeapp.com/)** - 我與這些傢伙都沒有關聯,順便說一句 - 專用的「繪畫應用程序」,可以爲您提供繪圖代碼當你創建你的圖形。整潔地學習一些技巧(非常適合可重複使用的圖形以及解決視網膜挑戰) – Jay 2012-10-07 15:15:49
我和你在同一條船上;我想了解更多關於繪圖代碼的知識。
這是一個很大的文檔,但開發人員網站上的Quartz 2D programming guide似乎是一個很好的起點。他們引入了Graphics Contexts和Paths,幷包含大量圖像。
還有一本書在該文件中引用,Programming With Quartz: 2D and PDF Graphics in Mac OS X看起來不錯。 iPhone和OSX的API幾乎完全相同,因此使用Mac OSX書籍沒有任何問題。
所以我建議從Apple文檔開始(您不需要閱讀過去CGLayer繪圖部分),嘗試一些示例代碼並找出它的工作原理。然後繼續閱讀該書或在網上找到更多示例代碼。祝你好運!
- 1. 如何更好地構建此代碼?
- 2. 更好地構建Java代碼
- 3. 如何更好地清理此代碼?
- 4. 如何更好地控制代碼中的事件序列?
- 5. 在cocoa swift中繪製
- 6. 繪製像素 - Objective-C/Cocoa
- 7. 用Cocoa繪製散點圖
- 8. Pytyments更好的格式爲py代碼
- 9. 哪個代碼更好?爲什麼?
- 10. 最好的方法來幹,並更好地澄清代碼
- 11. NG2地圖/ NG2的UI - 在繪製地理代碼
- 12. 熊貓不繪製代碼。
- 13. Python繪圖數據更好地perspicitve
- 14. 代碼改進:更好地替代這種模式?
- 15. 什麼代碼更好
- 16. 更好的代碼開發
- 17. 更好的代碼結構?
- 18. 重新繪製新屬性 - Cocoa/Objective C
- 19. Cocoa OpengGL:繪製紋理和圓角
- 20. 在Cocoa中每幀繪製一次
- 21. 更改CIL代碼爲本地代碼在C#
- 22. 命名約定是否可以更好地維護代碼?
- 23. 更好地捕獲會話從PHP中的會員代碼ID
- 24. MVC - 從代碼輸出HTML,更好地使用Response.OutputStream或StringBuilder
- 25. 改善URL組件以便更好地反應代碼
- 26. 在Gtk中,何時使用Glade/GtkBuilder比本地代碼更好?
- 27. 什麼代碼是更好地使用運算符重載
- 28. 如何更好地編寫以下Java代碼?
- 29. 有助於更好地瞭解Facebook oauth代碼
- 30. 如何更好地使用eclipse代碼模板(PHP)?
我建議bezier paths = P – cobbal 2010-04-24 07:09:10