..あなたのコードに基づいて、 保存する前にコンテキストを復元しているようです。 最初まず:
- 別名コンテキスト
- を持ついくつかのものがそれぞれ
Store(push)
そこになければならないためPop
- 一般的なルール別名コンテキストを復元してください
- を押し、その状態保存コンテキスト
- を作成します。 be
Restore(pop)
- 完了したらコンテキストをリリースしてください!これは、それらが持っているコンテキストを参照しています
CGCreate
、CGCopy
、
サンプルコード:
申し訳ありません
[super drawRect:rect];
CGContextRef ctx = UIGraphicsGetCurrentContext();
// save context
CGContextSaveGState(ctx);
// do some stuff
CGContextSetRGBStrokeColor(ctx, 1.0, 0.5, 0.5, 1.0);
// drawing vertical lines
CGContextSetLineWidth(ctx, 1.0);
for (int i = 0; i < [columns count]; i++) {
CGFloat f = [((NSNumber*) [columns objectAtIndex:i]) floatValue];
CGContextMoveToPoint(ctx, f+(i*20.5), 0.5);
CGContextAddLineToPoint(ctx, f+(i*20.5), self.bounds.size.height);
}
// restore context
CGContextRestoreGState(ctx);
// do some other stuff
// drawing hozizontal lines
CGContextSetLineWidth(ctx, 1.0);
CGContextSetRGBStrokeColor(ctx, 0.12385, 0.43253, 0.51345, 1.0);
for (int i = 0; i < [columns count]; i++) {
CGFloat f = [((NSNumber*) [columns objectAtIndex:i]) floatValue];
CGContextMoveToPoint(ctx, 0.5, f+(i*20.5));
CGContextAddLineToPoint(ctx,self.bounds.size.width,f+(i*20.5));
}
CGContextStrokePath(ctx);
}
// No context CGContextRelease , since we never used CGContextCreate
私は私のコードを編集して、再び同じエラーを取得しました – cocoatoucher