2

我有 2 个 UIViewControllers,其中包含类似的 UIView 组件。例如,第一个 UIViewController 可以有一个小的 UIImageView,而第二个 UIViewController 有一个大的 UIImageView。

使用UIView animateWithDuration:animations:

我可以做类似的事情

// this is the original size frame
self.imageView.frame = smallFrame;


// somewhere in the code make a big frame and animate it
UIView animateWithDuration:1 animations^ { self.imageView.frame = bigFrame; }

但我想在视图控制器之间推送时为 UIView 组件设置动画

firstViewController pushViewController:secondViewController; // this should animate the frame size 
// of the imageView in the first view controller to the frame size of the imageView in the second 
//view contoller 

在 Facebook 应用程序中选择提要或相册中的照片时,可以看到类似的行为。背景变暗,图像变大。

我相信这些是 2 个独立的视图控制器,因此推送期间的动画可以感知帧大小的增长和缩小。这将有助于重用这个画廊视图控制器。

对于任何视图,如何实现这一点?

4

1 回答 1

1

我相信你会想看看UIViewControllerAnimatedTransitioning课堂。

这是自定义视图控制器转换的链接

于 2014-07-30T00:12:23.060 回答