天天看點

iOS 繪圖時使用 UIGraphicsGetCurrentContext() 報錯的原因分析

iOS 繪圖時使用 UIGraphicsGetCurrentContext() 報錯的原因分析

<a target="_blank" href="http://blog.csdn.net/opengl_es">轉載請保留此句:太陽火神的美麗人生 -  本部落格專注于 靈活開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。</a>

問題描述:

CGContextRef ctx = UIGraphicsGetCurrentContext();

為什麼會報這個錯誤:is using an invalid context  and is thereby contributing to an overall degradation of system stability and reliability

有道翻譯:是使用一個無效的上下文,進而導緻整體退化系統穩定性和可靠性

iOS 繪圖時使用 UIGraphicsGetCurrentContext() 報錯的原因分析

預設是Nil,在調用 drawRect前,視圖對象會先往棧上壓入一個有效的上下文并使它成為目前上下文。

如果你不是使用UIView對象來做繪畫操作,那麼你就得使用 UIGraphicsPushContext 函數手工往棧上壓入一個有效的上下文了

iOS 繪圖時使用 UIGraphicsGetCurrentContext() 報錯的原因分析

綜上所述,可能是沒在UIView類的 drawRect 裡面來操作,這個方法是由架構來調用的,調用前,UIView内部會加一個進去!

繼續閱讀