来自UITabBarController中不同UINavigationController的视图控制器中的复杂转换



UITabBarController
|
+- UINavigationController1
| |    
|    +- UIView控制器11
| |    
|    +- UIViewController12(后退按钮名为"BackBtn" )
+- UINavigationController2
    |
    +- UIView控制器21
    |
    +- UIViewController22(名为"BtnB"的按钮)

  • (a)在UIViewController22中有一个名为"BtnB"的按钮,当我触摸它时,屏幕将显示myViewController12和动画,如UIViewController22 PushViewTo UIViewController12;
  • b)在(a)之后,我触摸BackBtn(在UIViewController12中),屏幕将显示UIViewController11和像UIViewController12这样的动画弹出UIViewController11。
  • 问:通过以下页面我们可以实现它:iOS - 从另一个选项卡转到某个选项卡的第二个 uiviewcontroller但是有人可以更优雅地实现它吗?

我解决了。在myViewController12中,我将BackBtn的操作方法设置为以下代码:

-(IBAction)backAction:(id)sender
{
        self.tabBarController.selectedIndex = 0;
        CATransition* transition = [CATransition animation];
        [transition setDuration:0.3];
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromLeft;
        [transition setFillMode:kCAFillModeBoth];
        [transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [self.tabBarController.view.layer addAnimation:transition forKey:kCATransition];
        [self.navigationController popToRootViewControllerAnimated:NO];
}

最新更新