我有一个带有标签导航的应用程序,包含5个独立视图(5个标签)。 除了:在一种情况下,我想以编程方式从一个视图(选项卡)切换到另一个视图。
切换有效,但我也希望通过编程方式切换传递参数,因此目标视图的外观与用户按下标签时激活的方式不同?
有没有合适的方法来实现这个目标(除了定义全局变量;)?
答案 0 :(得分:0)
我在App Delegate中有一些帮助来帮助解决这个问题。这就是我在代码中的做法(注意每个选项卡里面都有一个UINavigationController):
SLAppDelegate *delegate = (SLAppDelegate *)[[UIApplication sharedApplication] delegate];
UIView * fromView = delegate.tabController.selectedViewController.view;
UIView * toView = [[delegate.tabController.viewControllers objectAtIndex:3] view];
[UIView transitionFromView:fromView
toView:toView
duration:0.5
options: UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished) {
if (finished) {
delegate.tabController.selectedIndex = 3;
MapViewController *map = (MapViewController *)[delegate.navMapsController.viewControllers objectAtIndex:0]; // map view is the only VC in the navController
// do something with the map view
}
}];