如何将视图从一个viewController移动到另一个viewController

时间:2014-08-13 20:00:37

标签: ios objective-c iphone uiviewcontroller

我确信这比我想象的要容易,但我根本不知道这个名字或者如何搜索它。

facebook这样的应用程序如何将视图(如图像本身)从时间轴viewController传输到photoGalleryViewer类型的viewController,这是无用的。很多时候,您会看到应用程序在viewControllers之间使用push segue,您会看到感兴趣的视图保留在viewControllers在后面滑动的相同位置。

这里有一个快速草图。 enter image description here

2 个答案:

答案 0 :(得分:3)

假设你的视图控制器在UINavigationController中,可以使用UINavigationControllerDelegate。

  1. 将视图控制器设置为导航控制器的委托(self.navigationcontroller.delegate = self
  2. 实施方法-navigationController:animationControllerForOperation:fromViewController:toViewController:并返回符合UIViewControllerAnimatedTransitioning协议的对象。
  3. 实施该协议的方法。在方法-animateTransition:中,您将传递符合UIViewControllerContextTransitioning的参数。此对象将允许您获得对您转换到&amp ;;的视图控制器的引用。来自容器视图。
  4. 与大多数自定义动画一样,这不是一件微不足道的事情,但这应该会让你走上正确的道路。希望这会有所帮助。

答案 1 :(得分:0)

试试这个数字:

  

导航控制器 - >视图控制器1 - >查看控制器2

将您的View1添加到VC 1的导航控制器视图:

[self.navigationController.view addSubview:view1];

然后,无论你执行推送segue,View1都将通过VC 1和VC 2。