私は、初期レイがビューコントローラをロードするRootViewControllerを備えたモノタッチプロジェクトを持っています:-
this.AddChildViewController( secondViewController );
this.AddChildViewController( firstViewController );
View.AddSubview( firstViewController.View );
firstViewController.DidMoveToParentViewController( this );
各viewControllerには、次のようにボタンが追加されたツールバーが含まれています。
loaderButton = new MonoTouch.UIKit.UIBarButtonItem( UIBarButtonSystemItem.Action, loaderClickHandler );
また
closeButton = new MonoTouch.UIKit.UIBarButtonItem( "Close", UIBarButtonItemStyle.Done, new EventHandler( closeClickHandler ) );
ここで、loaderClickHandlerは次のとおりです。
private void loaderClickHandler( System.Object sender, System.EventArgs e )
{
System.Console.WriteLine( "loaderClickHandler()" );
}
これはすべて正常に機能します(ただし、より良い方法がある場合はお知らせください)。問題はsecondViewController(基本的に最初のテキストと同じですが、テキストが異なるだけです)にあります。
RootViewControllerによって次のように切り替えられたとき:
this.Transition( firstViewController, secondViewController, 0.2, UIViewAnimationOptions.TransitionCrossDissolve, () => { }, (bool finished) => { secondViewController.DidMoveToParentViewController( this ); } );
正常に表示されますが、ツールバーのボタンをクリック/タッチしたときにイベントハンドラーメソッドが呼び出されませんか?
すべての変数(loaderButton)はクラスレベルです。
誰もが理由を知っていますか?または私が間違っていることは何ですか?