views:

713

answers:

1

Hi

I apply the following transform to my view to display it in landscape mode.

CGAffineTransform transform = CGAffineTransformMakeRotation((90.0 * M_PI) / 180);
transform = CGAffineTransformTranslate(transform, +80, +80);

Which works fine, now I have two or three other views I want to display in landscape. I would like to animate between these using the UIViewAnimationTransitionCurlUp and UIViewAnimationTransitionCurlDown animation presets.

However, when applying these in landscape mode the curl effect happens as if the view was in portrait.

I would like to be able to transform the curl animation so it looks good in landscape but it seems UIViewAnimationTransition does not respond to setTransform:

Does anyone have any ideas?

Thanks! :)

+1  A: 

I would try putting another view in the hierarchy above the view you're currently rotating, and rotate the parent view instead.

Neil Mix
eh? The view is rotated fine, it's the UIViewAnimationTransistion that doesn't rotate.
adam
Yes, but the UIViewTransition is being applied according to the parent view's geometry. Since the parent is portrait, the animation is applied in portrait. If you instead rotate the parent view to be landscape, I'm guessing that the child view will curl in landscape as well.
Neil Mix