coreGraphics 關於IOS只能在drawRect中運用,由於只要在drawRect辦法中可以經過UIGraphicsGetCurrentContext辦法獲取到可以用來繪圖的context。
1.重新繪圖相關辦法和屬性經過UIView的setNeedsDisplay或setNeedsDisplayInRect:來使view重新調用drawRect辦法停止繪圖。
contentMode 該屬性是定義當UIView的bounds變化的時分,如何去規劃其內容。其中個就有一個可選項是UIViewContentModeRedraw,可以使得在UIView的bounds發作變化的時分再次調用drawRect停止重畫。
2.CGLayer和CALayer的用法思緒有點不同關於Context來說,CGlayer對象與transparency layer對象,CGPath對象,以及運用CGContext辦法創立的path,處在同等位置。
與CALayer不同,CGLayer更像是一個小的繪圖元素,通常在需求反復同一個圖像,比方一張桌布上的小碎花,就把小碎花畫在CGLayer對象上,然後將CGLayer對象屢次添加到context上。
CGLayer需求用Context來創立(辦法是CGLayerCreateWithContext),這樣CGLayer的屬性就曾經設置成和context分歧,無需手動設置太多。當然自己也可以去改。
創立好CGLayer對象之後, 要在layer上作畫還要先獲取該layer對象的context,經過CGLayerGetContext辦法,然後獲取到context之後就可以開端在layer上畫了,辦法同畫在其他context一樣。
最後,就可以將這個layer添加到所需的中央,通常就是某個context上,往往會是創立這個layer的context,也不一定,只不過將layer添加到與其本身context分歧的context上功能更好,apple的文檔上這麼說。將layer添加到context可以用辦法CGContextDrawLayerInRect或CGContextDrawLayerAtPoint。
【有關coreGraphics】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!