nag*_*jun 4 iphone core-graphics objective-c ios
我有以下绘图代码:
static int i=10;
int x;
int y;
int x2;
int y2;
// Drawing code.
CGContextRef c = UIGraphicsGetCurrentContext();
CGFloat colour[4] = {1.0f,0.0f,0.0f,1.0f};
CGContextSetStrokeColor(c, colour);
CGContextSetLineWidth(c, 1.0);
CGContextBeginPath(c);
NSLog(@"fired...");
int xline[340] = {30,80,80,20};
int yline[340] = {40,40,20,20};
CGContextBeginPath(c);
CGContextMoveToPoint(c, x, y);
CGContextAddLineToPoint(c,x2,y2);
//CGContextStrokePath(c);
for (int j = 0; j <= 3; j++) {
x2 = xline[j];
y2 = yline[j];
CGContextAddLineToPoint(c, x2, y2);
x = x2;
y = y2;
}
CGContextStrokePath(c);
[self setNeedsDisplay];
i++;
Run Code Online (Sandbox Code Playgroud)
但是,当它运行时,我收到以下错误:
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextBeginPath: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextMoveToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextAddLineToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextAddLineToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextAddLineToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextAddLineToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextAddLineToPoint: invalid context 0x0
Wed Aug 10 11:13:05 Mac-Minis-Mac-mini.local LineDraw[1880] <Error>: CGContextDrawPath: invalid context 0x0
Run Code Online (Sandbox Code Playgroud)
什么可能导致这些错误,我该如何解决这个问题?
除非你在子类的drawRect:方法中有这个代码UIView或者已经将图形上下文专门地推送到堆栈上(例如通过使用UIGraphicsBeginImageContext),UIGraphicsGetCurrentContext()否则将返回NULL.
所有绘图功能都需要图形上下文.
| 归档时间: |
|
| 查看次数: |
4102 次 |
| 最近记录: |