我想将ViewController1的Transition动画添加到ViewController2。下图显示了BaseTabBarController和TableViewController。 BaseTabBarController有超过.h和.m文件命名(BaseTabBarController);如果我将在基本选项卡栏中添加任何视图,那么它将添加到TableViewController中。我正在从TableViewController推送第三个ViewController。所以在下面的代码中, fromVC 应该是TableViewController,但它包含BaseTabBarViewController。我无法知道这里发生了什么?请建议任何解决方案,以便我可以继续前进。我将感谢你们所有人。
-(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController <ZoomTransitionProtocol> * fromVC = (id)[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController <ZoomTransitionProtocol> *toVC = (id)[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIView * containerView = [transitionContext containerView];
UIView * fromView = [fromVC view];
UIView * toView = [toVC view];
[containerView addSubview:toView];
UIView * zoomFromView = [fromVC viewForZoomTransition];
UIView * zoomToView = [toVC viewForZoomTransition];
//Code is continuing…
}
答案 0 :(得分:0)
我已经找到了问题并且已经解决并且工作得很好。
<强>解决方案:强> 请看下面的截图:
您会注意到,首先,导航控制器是地方,然后是ViewController;之后, TabBarController 将会出现; TabBarController的第一项是TableViewController; 当我们从任何tabBar项目推送任何视图控制器时,它将推送,因为我们有根导航控制器;因此,无需为每个选项卡添加单独的导航控制器。
但 UITransitionContextFromViewControllerKey 将返回BaseTabBar类。因此,为了解决问题,我刚为tabBar项添加了一个新的导航控制器。现在它将返回正确的 FromViewCotroller 。 以下是正确的截图: