私は2本の線を描く必要があります。両方の描画を行うために同じUIViewサブクラスを使用できますか?私は変数を使用する方法を変更した場合、私はUIViewのカスタムUIを作成した後にdrawRectが呼び出されましたか?
draw2D *myView = [[draw2D alloc] initWithFrame:myRect];
を作成した後、私はそれらの値を変更し、別の線を描画するためのdrawRectメソッドを呼び出すことができますか?
- (void)drawRect:(CGRect)rect
{
CGContextRef context01 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context01, 1.0);
CGContextSetStrokeColorWithColor(context01, [[UIColor blackColor]CGColor]);
CGContextMoveToPoint(context01, 0, 0);
CGContextAddLineToPoint(context01, 800, 0);
CGContextStrokePath(context01);
CGContextRef context02 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context02, 1.0);
CGContextSetStrokeColorWithColor(context02, [[UIColor blackColor]CGColor]);
CGContextMoveToPoint(context02, 453, 0);
CGContextAddLineToPoint(context02, 453, 800);
CGContextStrokePath(context02);
}
しかし、どのようにUIViewを再描画するのですか?私は直接drawRectメソッドを呼び出すことができるとは思わない? – Padin215
上記の私の答えを参照してください。 –
あなたは 'drawRect'を直接呼び出すべきではありません。代わりに 'setNeedsDisplayInRect:'または 'setNeedsDisplay'を使って無効にしてください。ビューシステムは適切な時間に描画するように求めます。 – justin