我想畫我的自定義的UIView裏面的一些線條畫時收到錯誤。試圖與UIBezierPath
從我所看到的,救與CoreGraphics中亂搞,我可以使用UIBezierPath(我在Mac上做了類似與NSBezierPath)。 我有一些代碼嘗試繪製線條,但我得到輸出錯誤,無法找到一些體面的參考與一些示例代碼來說明發生了什麼,有什麼想法?下面 代碼...
代碼:
- (void)drawRect:(CGRect)rect {
// Drawing code
UIBezierPath *line1 = [UIBezierPath bezierPath];
[[UIColor blackColor] setStroke];
[line1 setLineWidth:3];
[line1 moveToPoint:CGPointMake(0, 0)];
[line1 addLineToPoint:CGPointMake(320, 480)];
[line1 stroke];
}
錯誤:
Sat Oct 2 19:26:43 mercury.config mobileManual[46994] <Error>: CGContextSetStrokeColorWithColor: invalid context 0x0
更新:這是當前的代碼,沒有錯誤,但也沒有拉..想法?
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor yellowColor]];
[self.view setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect {
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
UIBezierPath *line1 = [UIBezierPath bezierPath];
[line1 setLineWidth:3];
[line1 moveToPoint:CGPointMake(0, 0)];
[line1 addLineToPoint:CGPointMake(320, 480)];
[line1 stroke];
CGContextRestoreGState(context);
}
我只是想你更新的代碼和它的工作就像一個魅力。要明確,drawRect:在你的UIView子類上,而viewDidLoad在你的UIViewController子類上,對嗎? – 2010-10-02 23:41:32
大聲笑是的,但只有一次,我意識到我不得不繼承UIView並重寫drawRect。現在都很好。感謝您指點道路。 – Cocoadelica 2010-10-03 11:53:03