我在我的loadView方法中寫了下面的代碼。石英,矩形不顯示
//draw grid lines
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat color[4] = {.5,0.5,1.0,1.0};
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColor(context, color);
CGRect rect = CGRectMake(100.0, 200.0, 50.0, 50.0);
CGContextAddRect(context, rect);
CGContextDrawPath(context, kCGPathFillStroke);
在我的應用程序中,我添加了一些UIButtons和UILabels到UIView。我想圍繞UILabels繪製一個矩形。
我NSLogged代碼的任何一方,並獲得兩個日誌之間的以下運行時輸出錯誤。
<Error>: CGContextSetStrokeColor: invalid context 0x0
<Error>: CGContextAddRect: invalid context 0x0
<Error>: CGContextDrawPath: invalid context 0x0
等
我如何確保我得到一個有效的範圍內?我假設調用UIGraphicsGetCurrentContext();就足夠了。
好吧,我把代碼放在我的ViewController中的一個drawRect:(CGRect)方法中,它是UIView的一個子類。 drawRect中的代碼由這兩行調用CGRect rect = CGRectMake(100.0,200.0,50.0,50.0);它已經刪除了錯誤,但仍然沒有圖形的標誌。 [self.view drawRect:rect];在loadView方法中。 – 2012-02-15 18:08:06
你不會調用'drawRect:',iOS會在適當的時候爲你做。你也確定你的ViewController是UIView的子類,而不是UIViewController? – gcamp 2012-02-15 18:51:45