我有一个带有 RootViewController 的单触摸项目,它初始化加载视图控制器:-
this.AddChildViewController( secondViewController );
this.AddChildViewController( firstViewController );
View.AddSubview( firstViewController.View );
firstViewController.DidMoveToParentViewController( this );
每个视图控制器都包含一个工具栏,其按钮添加如下:
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()" );
}
这一切都很好,(但请让我知道是否有更好的方法)问题出在第二个ViewController上(它与第一个基本相同,只是文本不同)。
当它被 RootViewController 切换到时:
this.Transition( firstViewController, secondViewController, 0.2, UIViewAnimationOptions.TransitionCrossDissolve, () => { }, (bool finished) => { secondViewController.DidMoveToParentViewController( this ); } );
它显示正常,但它的工具栏按钮在单击/触摸时不调用事件处理程序方法?
所有变量(loaderButton)都是类级的。
有人知道为什么吗?或者我做错了什么?
DOH !
当您在任何其他项目之后添加工具栏时,它会有所帮助!