1

我们知道,当我们想要显示自定义启动画面时,我们可以使用 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
4

0 回答 0