title: Core Animation rotating a layer around arbitrary point
body: <p>How can I rotate a layer using Core Animation around an arbitrary point? ( In my case a point that is not inside the layer I want to rotate )</p>
  
  <p>I prefer doing this without changing the anchor point, because unless I get something wrong every time I change the anchor point it also changes the position of the layer.</p>
  
  <p>I tried something like that but it didn't work:</p>
  
  <pre><code>[UIImageView beginAnimations:nil context:nil];
  CATransform3D rotationTransform = CATransform3DIdentity;
  rotationTransform = CATransform3DTranslate(rotationTransform, 0.0, -100.0, 0.0);
  rotationTransform = CATransform3DRotate(rotationTransform, DegreesToRadians(180),
                          0.0, 0.0, 1.0);
  rotationTransform = CATransform3DTranslate(rotationTransform, 0.0, 100.0, 0.0)
  shape1.layer.transform = rotationTransform;
  [UIImageView commitAnimations];
  </code></pre>
  
  <p>It looks like the rotation axis is moving during the rotate.</p>