2012-04-28 77 views
1

我有一个登录屏幕,我想要做的是检测用户是否已经登录并最终弹出一个模式。在viewcontroller的启动时执行segue

我创建了一个自定义的segue,显示了没有动画的模式。

@implementation NonAnimatedSegue 

-(void) perform { 

    [self.sourceViewController presentModalViewController:self.destinationViewController animated:NO]; 

} 

事情是,从viewDidLoad或viewWillAppear调用此segue不会产生任何效果。如果我从viewDidAppear调用它,登录屏幕会在打开模式之前弹一会儿。

任何想法如何解决这个问题?

+0

它应该从viewWillAppear工作 – 2012-04-28 16:57:13

+0

@AnkitSrivastava这不起作用,你会得到一个警告说:“尝试呈现viewA viewA其视图不在窗口heirarchy!” – Deco 2013-06-26 13:29:44

+0

你应该考虑有两个故事板,一个用于登录相关流程,另一个用于正常流程。应该检查appDelegate中的登录状态并相应地实例化故事板。 – RJR 2013-11-06 07:55:23

回答

0

我解决这个问题的方法是检查应用程序完成启动并根据需要设置根视图控制器。像这样:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    /*stuff*/ 
    /*get the view controller from storyboard/nib*/ 
    [self.window setRootViewController:CorrectViewController]; 
} 

它不会显示模式视图,只是在启动时显示登录。