
第七章
在視圖中繪圖
對使用者展示各種圖形圖像(graphical image)的基本類別為視圖(view),圖形圖像指
的是按鈕、照片、文字之類的東西—使用者能夠看到的任何東西。
Cocoa 和 UIKit 提供各種幾乎符合一切需要的控制項—你可以展示文字、圖像、按鈕等
等。不過,某些資料需要以特定方式繪製︰你可能想要針對資料繪製圖表,或者建立按
照你想要的方式展示的自訂按鈕類別。如果你正在建立繪圖 App,你必須能夠展示任何
類型的圖形內容,這表示,你的程式碼必須知道如何繪製它。
在這一章裡,你將學習如何建立自訂視圖物件(custom view object),對使用者展示任
何類型的圖像。你會學到如何使用高階 Objective-C API 來繪圖,並且建立按任何比例
縮放尺寸並且無損於品質的自訂視圖類別。最後,你將學到視網膜顯示(Retina)如何
運作在 iOS 與 OS X 上。
繪圖機制如何運作
在我們開始撰寫程式碼繪製內容讓使用者觀看之前,先檢視一下繪圖機制如何在 OS X
和 iOS 上運作是很有幫助的。注意,相同的術語和技術對 OS X 與 iOS 皆適用,但具體
的 API 則不相同。
在應用程式繪製圖形時,會先建立要在上面繪圖的畫布(canvas)。 Cocoa 稱此為圖形
上
下文
(graphics
context
)。除了一般事項以外,圖形上下文定義畫布的尺寸,以及顏色
資訊如何被運用 ( 例如,你可以有黑白畫布、灰階畫布、16 位元顏色的畫布等等 )。
103