从一个导航控制器切换到另一个导航视图控制器

时间:2013-03-22 08:29:44

标签: iphone uiviewcontroller uinavigationcontroller

我正在开发一个应用程序,其中我使用两个导航控制器和uilocalNotification

第一个NavigationViewController N1有两个ViewControllers v1和v2 第二个NavigationViewController N2有两个ViewControllers v3和v4

此外,当应用程序在后台时,如果出现UILocalNotification并且如果我点击它,应用程序应检测哪个导航控制器和哪个viewController显示,然后切换到另一个navigationController的viewcontroller。

例如: - 如果显示N1中的v2,则 点击通知后, 然后显示在N2中切换到v3

怎么做?

1 个答案:

答案 0 :(得分:1)

只需在您的AppDelegate.m文件中粘贴此方法,并在想要更改UINavigationController时调用特定方法...

例如:如果您在v2的{​​{1}}并且通知已更改,请调用贝娄方法,如下方...

N1

将此波纹管方法用于带动画的开关导航控制器..

<强> 1。 setRootViewControllerN1 :这是用于设置带有N1 navigationController的RootViewController。

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate setRootViewControllerN2];

<强> 2。 setRootViewControllerN2 :这是用于设置带有N2 navigationController的RootViewController。

-(void)setRootViewControllerN1{
    self.window.rootViewController = N1;

    [self.window makeKeyAndVisible];
    CATransition *animation = [CATransition animation];
    [animation setDelegate:self];   
    [animation setType:kCATransitionFade];
    [animation setDuration:0.5];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [[self.window layer] addAnimation:animation forKey:kAnimationKey];
}

我希望这对你有所帮助