0

UIView の内部に CGPoint をサブビューとして配置して、UIView を回転させると CGPoint が一緒に回転するようにすることは可能ですか?

4

2 に答える 2

1

CGPoint は論理構造であり、グラフィカルではありません。そうは言っても、次の例では、別のポイント (ポイントと呼ばれる) を中心に回転したポイントが生成されます。これは直接には当てはまらないかもしれませんが、何らかの方向性を示すはずです。キーは CGAffineTransform です。

CGAffineTransform translateTransform = CGAffineTransformMakeTransation(point.x, point.y);
CGAffineTransform rotateTransform = CGAffineTransformMakeRotation(angle);
CGAffineTransform customTransform = CGAffineTransformConcat(CGAffineTransformConcat( CGAffineTransformInvert(translateTransform), rotateTransform), translateTransform);
newPoint = CGPointApplyAffineTransform(initialPoint, customTransform);
于 2011-02-09T05:33:15.280 に答える
0

CGPoint(likeCGSizeまたはCGRect) は C 構造体であり、「描画可能」であると想定されていません。つまり、それらは座標または幾何学的な「もの」の単なる数学表現であり、表示ツリーに追加することはできません。

「ポイント」を表示する必要があり、それを制御する必要がある場合は、親UIViewに子を追加して、色付きの背景を持つ 1 ピクセルの正方形のフレームを作成します (表示する必要がある場合)。この場合、親の UIView に対する空間的な変更は、子に影響します(回転にも影響します)。UIViewUIViewUIView

CGPointそれ以外の場合、別のポイントに対する角度で回転の位置を知る必要がある場合は、必要な数学を含むこの素晴らしい回答を参照してください。

2D で点を別の点で回転する

チャオ!

于 2011-02-09T05:42:17.633 に答える