0

ユーザーが私のアプリを使用するには、ログインする必要があります。私の考えは、アプリケーションが起動した後、ログインビューがモーダルに表示されるというものでした。起動アプリのモーダルビューは表示されません

iOS 5より前は、すべてが.xibファイルで動作していました。今私は、新しい機能の概要とより良い使い方のために、ビューをストーリーボードに変換したいと思っています。

このアプリはsplitviewコントローラで動作します。問題は、ログインビューがロードされていても表示されないことです。

私はアプリのデリゲートで試してみました。私はsplitviewcontrollerのクラスを作成し、viewDidLoadでロードしようとしました。

コード:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    //load and push login 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    LoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"]; 

    NSLog(@"login push: %@", loginViewController); 
    [self presentModalViewController:loginViewController animated:YES]; 
    NSLog(@"done push"); 
} 

ログイン:

2012-01-13 10:18:08.217 App[1101:707] login push: <LoginViewController: 0x472fe0> 
2012-01-13 10:18:08.330 App[1101:707] done push 

私は、ルートまたは詳細ビューでそれをロードしようとした、それは動作しますが、そのない適切な場所とXcodeがメッセージを与える:

2012-01-13 10:18:08.807 App[1101:707] Unbalanced calls to begin/end appearance transitions for <MainSplitViewController: 0x464bc0>. 

私の最初のアイデアはログインビューで始まり、ログイン後にsplitview coコントローラ。しかし、私はsplitviewコントローラがルートビューでなければならないことを知りました。

答えて

3

viewDidLoadで別のViewControllerをプッシュするのは非常に早いです。たぶん現在のViewControllerは、アニメーションを提示し、あなたは...アニメーションで

あなたはviewDidAppearにごLoginControllerの表示を移動してみなければならない...

+0

非常に感謝し、別のViewControllerを提示しようとしています。私は自分自身とは思っていません...時には解決策は簡単です。再度、感謝します! – Justin