gpt4 book ai didi

ios - UITransitionContextFromViewControllerKey 返回错误的 ViewController

转载 作者:行者123 更新时间:2023-12-01 16:38:16 25 4
gpt4 key购买 nike

我想添加从 ViewController1 到 ViewController2 的过渡动画。下图显示了 BaseTabBarController 和 TableViewController。 BaseTabBarController 的 .h 和 .m 文件名为 (BaseTabBarController);如果我将在基本选项卡栏中添加任何 View ,那么它将被添加到 TableViewController 中。我正在从 TableViewController 中推送第三个 ViewController。所以在下面的代码中,fromVC 应该是 TableViewController 但它包含 BaseTabBarViewController。我不知道这里发生了什么?请提出任何解决方案,以便我可以继续前进。我会感谢你们所有人。 enter image description here

    -(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…

}

最佳答案

我已经解决了这个问题并且它已经解决并且运行良好。

解决方案:查看以下屏幕截图: enter image description here

您会注意到,首先,Navigation Controller 是 places,然后是 ViewController;之后,一个TabBarController会来; TabBarController的第一项是TableViewController;当我们从任何 tabBar 项目推送任何 View Controller 时,它会推送,因为我们有根导航 Controller ;因此无需为每个选项卡添加单独的导航 Controller 。

但是 UITransitionContextFromViewControllerKey 将返回 BaseTabBar 类。因此,为了解决这个问题,我刚刚为 tabBar 项目添加了一个新的 Navigation Controller。现在它将返回正确的 FromViewCotroller。以下是正确的截图: enter image description here

关于ios - UITransitionContextFromViewControllerKey 返回错误的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com