当任何视图控制器可见时,在AppDelegate中执行performSegueWithIdentifier

时间:2014-07-07 22:50:37

标签: ios objective-c cocoa-touch

当应用收到本地通知时,我在AppDelegate中使用此方法。我希望它在收到通知时对视图控制器执行segue。当当前可见的视图控制器是根视图控制器时,这可以正常工作,但是当它的任何其他视图控制器不起作用时。我无法访问visibleViewController,因为我没有使用导航控制器。我该如何解决这个问题?

- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif {
    NSString *segueId = @"segueToTrigger";
    [self.window.rootViewController performSegueWithIdentifier:segueId sender:self];
}

1 个答案:

答案 0 :(得分:0)

在故事板中,为视图控制器提供storyboard_id。使用

    UIViewController * vc = [self.storyboard instantiateViewControllerWithIdentifier:@"[<your_story_board_id>]"];
    [[[[UIApplication sharedApplication]delegate]window]addSubview:vc.view];

请记住将vc分配给一个强大的属性,否则它将从该函数中释放出来。