2011-02-09 6 views
0

CGViewをUIViewの内部に配置することは可能ですか?それで、UIViewを回転させるとCGPointも一緒に回転します。CGPointsとUIView

答えて

1

CGPointは論理的な構成であり、グラフィカルではありません。それで、次のことは別のポイント(ポイントと呼ばれる)を中心に回転したポイントを生成します。これは直接適用されないかもしれませんが、あなたに何らかの方向性を与えるべきです。キーはCGAffineTransformです。 (CGSize又はCGRect等)

CGAffineTransform translateTransform = CGAffineTransformMakeTransation(point.x, point.y); 
CGAffineTransform rotateTransform = CGAffineTransformMakeRotation(angle); 
CGAffineTransform customTransform = CGAffineTransformConcat(CGAffineTransformConcat(CGAffineTransformInvert(translateTransform), rotateTransform), translateTransform); 
newPoint = CGPointApplyAffineTransform(initialPoint, customTransform); 
0

CGPoint C構造であり、 "描画可能" であると想定されていません。私はそれらが座標や幾何学的な「もの」の数学的表現であることを示していますので、それらをディスプレイツリーに追加することはできません。

あなたがUIViewに「ポイント」を表示する必要があり、それを制御する必要がある場合は、ちょうどあなたの親UIViewに子UIViewを追加色の背景に1pxの正方形の枠を持つ(あなたはそれを表示する必要がある場合) 。この場合、親UIViewの空間的な変更は、子に影響しますUIView(回転も)。

CGPointの位置を他の点との相対的な角度で回転させる必要がある場合は、必要な数式を含むこの素敵な答えを参照してください。

Rotate a point by another point in 2D

のCiao!