0

Viewクラスにこれらの2つのメソッドがあります。ビューが初期化されると、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);

}
4

2 に答える 2

3

-drawRect内から-drawLineを呼び出していますか?drawRectメソッド内のビューですべての描画を行う必要があります。他の場所から-drawLineを呼び出している場合、それは機能しません。

于 2010-03-27T21:22:44.473 に答える
1

drawrectでのみ描画を行うことができます。drawLineメソッドを使用してカスタム線を描画する場合は、drawrectのハードコードされたポイントを変数に置き換えます。次に、これらの変数をdrawLineメソッドで設定し、最後に[selfsetNeedsDisplay]を呼び出すことができます。

于 2010-03-27T21:23:55.383 に答える