2

CAShape Layer小さい円から大きい円へのパスの基本的な変換を行う前に使用しました。十分ですが、三角形を円に変換しようとしました。うまくいきましたが、変換は奇妙です。言い換えれば、ある形から別の形へと、最終的な形が形成される前に「反転」、「ねじれ」ます。形が同じなら円から円へと問題ありませんが、形が違うと変形がおかしくなります。

これが予想される方法なのだろうか?または、ある形状を別の異なる形状にスムーズかつ比例的に変換できる他のトリックや回避策CAShape Layerはありますか (または、これを行う他の方法はありますか? である必要はありませんCAShape Layer)。前もって感謝します。

4

3 に答える 3

1

pathのプロパティのドキュメントからCAShapeLayer

2 つのパスのコントロール ポイントまたはセグメントの数が異なる場合、結果は未定義です。

はい、円と三角形は異なる形状であるため、これは予想されることです。

この記事では、カスタム パス アニメーションについて詳しく説明します。

于 2013-07-25T13:03:47.413 に答える
1

私はここで推測しています!3 点を使用して円を定義できます。そうすれば、三角形と同じ数の点が得られます。サークルを定義するには、これがあなたの親友になります

+ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
于 2013-07-25T13:07:54.067 に答える