0

この方法で drawRect にいくつかのものを描画する UIView サブクラスがあります。

CGContextRef contextRef = UIGraphicsGetCurrentContext();

CGContextSetRGBFillColor(contextRef, 0.2, 1, 0.2, 0.8);

CGContextFillEllipseInRect(contextRef, CGRectMake(24, 24, 4, 4));
CGContextFillEllipseInRect(contextRef, CGRectMake(49, 10, 4, 4));
CGContextFillEllipseInRect(contextRef, CGRectMake(73, 24, 4, 4));

次に、描画されたドットを移動できるようにしたいと思います(具体的にはこれを回転させます)。これを行うにはどうすればよいですか? drawRect はどこに描画されますか?

ありがとう!

4

2 に答える 2

2

私の理解が正しければ、あなたがしたいことは、描いている点を移動 (時計回りまたは反時計回りに回転) することですよね?

その場合は、CoreGraphics を使用してドットを描画する代わりに、UIView1 つのドットを描画する方法と、その全体のサイズ (幅と高さ) がオブジェクトの直径に対応するサブクラスを作成することをお勧めします。ドット。背景も透明にします。

完了したら、必要な数のドットを作成し、それらを別の包含ビューのサブビューとして追加できます。これを行うと、frame.originプロパティを変更することで、ドット (実際には UIView) の原点を自由に移動できるようになります。さらに、frame自動的にアニメーション化される UIView のプロパティの 1 つであり、ドットの位置 (原点) を変更するたびに動きがアニメーション化されます。

これを実装するのに助けが必要な場合はお知らせください。

お役に立てれば!

于 2013-08-30T18:24:12.437 に答える