我使用下面的生成從一個UIView非空無效情況下的錯誤從一個UIView創建一個UIImage時
UIGraphicsBeginImageContextWithOptions(view.frame.size, YES, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
通常工作,但半年左右的時間,我得到這個錯誤時,一個UIImage renderInContext被稱爲:
<Error>: CGContextDrawImage: invalid context 0x84d0b20
有沒有人有任何想法,爲什麼會發生這種情況,或者如何甚至檢測它何時發生?如果上下文的地址是0x0,我想我會感覺更好,因爲它至少是我可以測試和處理的東西,但是到目前爲止,這讓我難以置信。
編輯:哎呦。意思是使用view.frame.size而不是view.bounds.size。
你有想過嗎?我也得到非空無效的上下文錯誤...我從UIGraphicsGetImageFromCurrentImageContext()出來的UIImage看起來不錯... – minovsky 2013-02-26 08:54:26
不幸的是,沒有。我想我將不得不重新繪製我試圖用繪圖命令捕捉的東西。 – Vince 2013-02-26 20:56:21
@minovsky我得到了與上下文相同的問題,但是我的情況有點不同。無論如何,在我的情況下,這是UIGraphicsPushContext/UIGraphicsPopContext平衡的問題。我彈出了超過推送,當我試圖對該上下文執行任何操作(即使它在使用之前被推入) - 出現無效的上下文錯誤。 – 2014-09-23 19:59:48