2011-02-06 11 views
1

私は、画面内で指を動かすときに回転させたいUIViewを持っています(円のように)。私はタッチポイントに直面するようにUIViewを回転させたい。私はその後、UIViewが向いている方向に何かを(私のUIViewから)弾丸のように撮影したいと思います。何か案は???私はあなたの素敵なメソッドを持っていたらポイントに面するようにUIViewを回転させる方法


-(void)degreesToRotateObjectWithPosition:(CGPoint)objPos andTouchPoint:(CGPoint)touchPoint{ 

    float dX = touchPoint.x-objPos.x;  // distance along X 
    float dY = touchPoint.y-objPos.y;  // distance along Y 
    float radians = atan2(dY, dX);   // tan = opp/adj 

    //Now we have to convert radians to degrees: 
    float degrees = radians*M_PI/360; 

    return degrees; 
} 

をtriginometry覚え

答えて

2

嬉しい、ちょうどこの操作を行います。

CGAffineTransform current = view.transform; 

[view setTransform:CGAffineTransformRotate(current,
[view degreesTorotateObjectWithPosition:view.frame.origin
andTouchPoint:[touch locationInView:parentView]] //Note: parentView = The view that your object to rotate is sitting in.

これはあなたが数学をneed.Theますほとんどすべてのコードが正しいとされますしかし、setTransformについてはわかりません。私は学校にこれをブラウザで書いています。あなたはここからそれを理解できるはずです。

幸運、

オーラムアクイラ

関連する問題