为什么不调用第二个monotouch viewcontrollers工具栏按钮eventhandler

时间:2012-10-02 09:21:33

标签: c# uiviewcontroller event-handling uibarbuttonitem uitoolbar

我有一个带有RootViewController的monotouch项目,初始化加载了viewcontrollers: -

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)都是类级别。

有人知道为什么吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:0)

DOH!

在任何其他项目之后添加工具栏时会有帮助!