UIPanGestureRecognizerでUIViewを回転させる

すんげー久々の更新にもかかわらず対したネタでもないのが残念だけど。

- (void)panAction:(UIPanGestureRecognizer *)gr {
	if (gr.state == UIGestureRecognizerStateBegan ||
		gr.state == UIGestureRecognizerStateChanged ) {
		UIView *view = gr.view;
		CGPoint location = [gr locationInView:gr.view.superview];
		CGPoint center = gr.view.center;
		CGFloat angle = atan2f((location.y - center.y), location.x - center.x);
		angle = angle + M_PI_2; // 12時の位置を0度にしたいのでPI/2を足す
		view.transform = CGAffineTransformMakeRotation(angle);
	}
}

このpanAction:をUIPanGestureRecognizerのインスタンスに設定してごにゅごにゅすればそのビューを回転させれるね。