我们知道,当我们想要显示自定义启动画面时,我们可以使用 splashviewcontroller (有关更多信息,请参阅带有繁重代码的启动画面 monotouch。我将此代码用于此建议并且效果很好。但我不不知道应用程序何时进入splashviewcontroller,繁重的代码完成了如何设置它进入应用程序的起点。
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
SplashViewController splash= new SplashViewController ();
window .RootViewController = splash;
window.MakeKeyAndVisible ();
return true;
}
在splashviewcontroller.cs
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
UIActivityIndicatorView uai= new UIActivityIndicatorView (UIActivityIndicatorViewStyle.Gray);
View .AddSubview (uai);
uai.StartAnimating ();
splashImage .StartAnimating ();
ThreadPool.QueueUserWorkItem (o =>heavyCode ());
}
public void heavyCode ()
{
int j=0;
for (int i=0; i<1000000; i++) {
j++;
}
//Should go to start point of application :-S
}
我是 monotouch 的新开发人员,也许这是一个愚蠢的问题,但在某些日子里让我感到困惑。
我将heavyCode方法更改为:
public void heavyCode ()
{
int j=0;
for (int i=0; i<1000000; i++) {
j++;
}
HomeScreen homescreen = new HomeScreen ();
App.Delegate .Window .RootViewController = homescreen ;
}
我得到了这个例外:
FATAL UNHANDLED EXCEPTION: MonoTouch.Foundation.ModelNotImplementedException