2010-12-27 4 views
1

MonoTouchを使用しています。新しいコントローラをUINavigationControllerのスタックにプッシュすると、正常に動作します。戻るボタンを押すと、イベントは発生しません。視覚的にも、ビューはスタックからポップされます。 SurveyEditorで、その後UINavigationController ViewDidが表示されません。

SurveyEditor editor = new SurveyEditor(surveyInstance); 
NavigationController.PushViewController(editor, true); 

:具体的には、私はいくつかのものを行うためにViewDidDisappearとViewDidAppearを使用したい

public override void ViewWillDisappear (bool animated) 
{ 
    Console.WriteLine("SurveyEditor ViewWillDisappear"); 
    base.ViewWillDisappear (animated); 
} 

public override void ViewDidDisappear (bool animated) 
{ 
    Console.WriteLine("SurveyEditor ViewDidDisappear"); 
    base.ViewDidDisappear (animated); 
} 

これらのどれも呼び出されないされている、と私のルートビューに、ViewDidAppearもなっていませんと呼ばれる!この1つについて私の心を失い始めます。

+0

さらに詳しい情報:ViewDidAppearは起動していません。しかし、ViewDidLoadはです。 – whitehawk

答えて

0

次を使用してビューコントローラからのナビゲーションコントローラを起動すると、それが呼び出されるん:

[self presentModalViewController:navigationController animated:YES]; 

(申し訳ありませんが、これはMonoTouchではない - 私はこれだった定期的なObjective-Cで問題が発生しました。それが呼ばなっていない場合は、私の解決策。)

Look at Dustin Clark's comment here.

1

ViewController内にナビゲーションコントローラがある場合、これらのイベントは発生しません。

+0

はちょうどこれに遭遇しました。うわー、なんとバマー? – nont

0

は、自分でそれを呼び出します。それについて何も起こっている魔法はありません、それはそのViewControllerの単なるメソッドです。それが消えようとしていることを知らせてください。

+2

他のlib/sysから呼び出されるはずのメソッドを自分で呼び出すと、いつも気分が悪くなります。 – miho

関連する問題