2011-08-04 4 views
0

を呼び出すことはありませんが、これは私が画面にVC2をもたらす方法です:viewDidDisapper私は、VC1という名前のビューコントローラとuinavigationコントローラを持っている今、私は彼をクリックしたときに私は、コントローラVC2を表示するために行くことをVC1のボタンを持って

VC2 *tmp = [[VC2 alloc]init]; 
[[self navigationController] pushViewController:tmp animated:YES]; 
[tmp release]; 

ここでVC1の操作に戻るためにナビゲーションの戻るボタンでVC2をクリックすると、VC2のviewDidDisAppearとviewWillDisAppearメソッドに入れられます。このボタンをクリックすると、この関数は呼び出されません1つのアイデアがありますか?

+0

これらのメソッドが呼び出されていないことをどのように知っていますか? – dasdom

答えて

-1

viewWillDisappear/viewDidDisAppearメソッドを呼び出す場合、ビューコントローラは手動でナビスタックからポップする前に手動で行う必要があります。 this をご覧ください。どうすればいいか分かります。

+0

これは当てはまりません。私はnavControllerとviewControllerを持っています。これはnavスタックからポップされ、viewWillDisappearは毎回呼び出されます。 – dasdom

0

あなたしかし方法がUINavigationControllerのスーパー実装によって呼び出されることを保証する最も簡単な方法は、ときUINavigationController一度だけ手動でそれらを呼び出すことです、UINavigationControllerDelegateコールバックから手動方法[..]ビューを呼び出すことができます割り当てられる。

ここに私の答えを参照してください:iPhone viewWillAppear not firing

をおnavController = [[UINavigationController alloc] init..と呼ばれているので、すぐ後に、これは、イベントが正しく、将来的に、各ビューコントローラに転送されていることを確認する必要があり

[navController viewWillAppear:NO]; 
[navController viewDidAppear:NO]; 
[navController viewWillDisappear:NO]; 
[navController viewDidDisappear:NO]; 

を呼び出すようにしてください。

関連する問題