2015-03-13 22 views
0

UITabBarController
|
+ - UINavigationController1
|         |
|         + - UIViewController11
|         |
|         + - UIViewController12(后退按钮和一个名为“BackBtn”)
+ - UINavigationController2
        |
        + - UIViewController21
        |
        + - UIViewController22(按钮和一个名为“BtnB”)
UITabBarController中来自不同UINavigationController的ViewControllers中的转换

  • (a)在UIViewController22有一个名为“BtnB”按钮,当我触摸它的屏幕会显示myViewController12和动画一样UIViewController22 PushViewTo UIViewController12; (b)在(a)之后,我触摸BackBtn(在UIViewController12中),屏幕将显示UIViewController11和UIViewController12等动画弹出到UIViewController11。
  • 问:通过以下页面我们可以实现它: iOS - go to second uiviewcontroller of some tab from another tab 但有人可以实现它更优雅?

回答

0

我解决了它。 在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]; 
 
}

相关问题