2012-04-28 9 views
1

私はログイン画面を持っています。私がしたいのは、ユーザーが既にログインしていて最終的にモーダルをポップアップしているかどうかを検出することです。viewcontrollerの起動時にsegueを実行します

アニメーションなしでモーダルを表示するカスタムセグを作成しました。

@implementation NonAnimatedSegue 

-(void) perform { 

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

} 

事はのviewDidLoadまたはviewWillAppearからこのセグエを呼び出すと、何の効果も取らないということです。 viewDidAppearから呼び出すと、モーダルが開く前にログイン画面がしばらくフリックします。

これを解決する方法はありますか?

+0

これはviewWillAppearから動作するはずです –

+0

@AnkitSrivastavaこれは動作しません。「ビューがウィンドウの階層にないviewAにviewBを表示しようとしました!」という警告が表示されます。 – Deco

+0

ログイン関連のフローと通常のフローの2つのストーリーボードがあることを考慮する必要があります。appDelegateのログインステータスを確認し、それに従ってストーリーボードをインスタンス化する必要があります。 – RJR

答えて

0

私がこの問題を回避する方法は、起動したアプリケーションをチェックインし、必要に応じてルートビューコントローラを設定することでした。そうですね:

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

モーダルビューは表示されませんが、起動時にログインするだけです。

関連する問題