我在View类中有这两种方法。当视图被初始化时,总是会调用drawRect方法。但我无法使用 drawLine 方法。它被调用时什么都不做。我应该处理cgimagecontext或类似的东西吗?请帮助!!
- (void)drawRect:(CGRect)rect {
// Drawing code
// Drawing code
CGContextRef contextRef = UIGraphicsGetCurrentContext();
//CGContextSetRGBFillColor(contextRef, 0, 0, 255, 1);
CGContextSetRGBStrokeColor(contextRef, 0, 0, 0, 1);
CGContextSetLineWidth(contextRef, 5.0);
CGContextBeginPath(contextRef);
CGContextMoveToPoint(contextRef, 0, 0);
CGContextAddLineToPoint(contextRef, 320, 480);
CGContextStrokePath(contextRef);
}
-(void)drawLine:(CGPoint)from to:(CGPoint) to {
// Drawing code
CGContextRef contextRef = UIGraphicsGetCurrentContext();
//CGContextSetRGBFillColor(contextRef, 0, 0, 255, 1);
CGContextSetRGBStrokeColor(contextRef, 0, 128, 0, 1);
CGContextSetLineWidth(contextRef, 5.0);
CGContextBeginPath(contextRef);
CGContextMoveToPoint(contextRef, 0, 0);
CGContextAddLineToPoint(contextRef, 320, 50);
CGContextStrokePath(contextRef);
}
答案 0 :(得分:3)
你是否从-drawRect中调用-drawLine?您需要在drawRect方法中的视图中进行所有绘制。如果您从其他地方调用-drawLine,它将无效。
答案 1 :(得分:1)
你只能画画。如果要通过drawLine方法绘制自定义线,请将drawrect中的硬编码点替换为变量。然后,您可以在drawLine方法中设置这些变量,最后调用[self setNeedsDisplay]。