2011-04-16 49 views
2

一個簡單的圓圈當我的iPhone應用程序的視圖負荷,我動態創建一個UIImageView和我的圖像放在它裏面。我想借鑑的UIImageView上面簡單的圓形,但一直未能使迄今做的。借鑑了的UIImageView

我寫了這個代碼,並試圖在另一對象中recieving事件畫一個圈......

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetRGBStrokeColor(context, 0, 0, 255, 0.5); 
CGContextFillRect(context, CGRectMake(10, 10, 10, 10)); 

...但 沒有任何反應 我收到一個錯誤。

<Error>: CGContextSetRGBStrokeColor: invalid context 0x0 
<Error>: CGContextFillRects: invalid context 0x0 

我試圖畫出一切,無濟於事。我究竟做錯了什麼?

+0

只是好奇,@George,爲什麼[被刪除這個(http://stackoverflow.com/posts/5683492/revisions)一段時間? – Arjan 2011-04-16 07:34:33

回答

4

嘗試從另一個對象處收到事件後畫一個圓圈[重點煤礦]

CGContextRefNULL因爲在您呼叫UIGraphicsGetCurrentContext的地方沒有圖形上下文。

當您在一個視圖的drawRect:是,上下文已經爲你設置,這樣你就可以得出,如果你需要可以得到當前上下文。在一個任意的方法(如IBAction)然而,可能不存在圖形上下文對你畫成。您需要可以創建一個,使用可能UIGraphicsBeginImageContextWithOptions,或(最好)只設置在事件處理方法的標誌,以表明一些額外的應在下一次通過drawRect:繪製,然後調用setNeedsDisplay