-
Making the effect is simple. You take the full-sized view, initialize its
transform
andcenter
to position it on top of the thumbnail, add it to the appropriate superview, and then in an animation block reset thetransform
andcenter
to position it in the final position. To dismiss the view, just do the opposite: in an animation block settransform
andcenter
to position it on top of the thumbnail, and then remove it completely in the completion block.Note that trying to zoom from a point (i.e. a rectangle with 0 width and 0 height) will screw things up. If you’re wanting to do that, zoom from a rectangle with width/height something like 0.00001 instead.
-
One way would be to do the same as in #1, and then call
presentModalViewController:animated:
with animated NO to present the actual view controller when the animation is complete (which, if done right, would result in no visible difference due to thepresentModalViewController:animated:
call). AnddismissModalViewControllerAnimated:
with NO followed by the same as in #1 to dismiss.Or you could manipulate the modal view controller’s view directly as in #1, and accept that
parentViewController
,interfaceOrientation
, and some other stuff just won’t work right in the modal view controller since Apple doesn’t support us creating our own container view controllers.