2011-01-20 11 views
0

私はアプリでいくつかの初期化を行っている状況があります。初回起動時には、私は同意する/私は同意しないボタン選択をEULAに提示する必要があります。私が同意する選択が行われると、ユーザー名とパスワードの入力を求めるモーダル表示が表示されます。これはすべて正常に動作します。問題は、ユーザー名とパスワードが確認され、モーダルビューが閉じられた後です。私は、EULAビューがアプリケーションの基本テーブルビューではなく画面に表示されたまま残っています。私は、EULAのViewControllerをコードで次の操作を行いますiOS以前のサブビューを非表示にする方法

- (IBAction)didAgree:(id)sender { 
    LoginViewController *lvc=[[[LoginViewController alloc] init] autorelease]; 
    lvc.modalTransitionStyle=UIModalTransitionStyleCoverVertical; 
    [self presentModalViewController:lvc animated:YES]; 
    [self.view removeFromSuperview]; 
} 

私はもちろん、ログインビューが表示されない場合、presentModal呼び出しの前に最後の行(removeFromSuperview)を移動した場合。ログインボタンを押した後、ログインビューコントローラコードで

私はこれを持っている:

[[self parentViewController] dismissModalViewControllerAnimated:YES]; 
[[self parentViewController].view removeFromSuperview]; 

私はこのコードを実行すると、モーダルビューが消え、テーブルビューは、EULAビューで消える前に、簡単に表示されます画面上に残ります。 2番目のステートメントをコメントアウトすると、テーブルビューは表示されません。

私はこれを知っています。私は何か信じられないほど明白なものを紛失していますが、私は喪失しており、かなり長い間このことに固執しています。

答えて

2

私はこの問題はここにあると思う:

[self presentModalViewController:lvc animated:YES]; 

が主にself。これは、selfがあなたのEULA-ViewControllerからのモーダルでログイン画面を提示することを意味します。今すぐEULA画面を削除することはできません。

最初にログイン画面を表示することをお勧めします。灰色で表示されるか、まったく表示されず、EULAをモーダルで表示することをお勧めします。

+0

いいですね。私はそれを試してみます。 – mlewis54

+0

更新:それは、おかげで、ありがとう。私はログイン画面を表示し、すぐにEULA画面をモーダルに表示した。同意すると、ログイン画面から離れます。保存してログインすると、メイン画面から離れて消えます。 – mlewis54

関連する問題