我有一个带有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)都是类级别。
有人知道为什么吗?或者我做错了什么?
答案 0 :(得分:0)
DOH!
在任何其他项目之后添加工具栏时会有帮助!