2012-04-28 60 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]; 
} 

它不會顯示模式視圖,只是在啓動時顯示登錄。