4

我们现在在 monotouch 和 iPhone / ipad 应用程序中,当我们想在应用程序午餐前有启动画面时,我们应该在 info.plist 文件中设置启动图像,它会在应用程序启动之前显示此图像。

但是,当我们想要在后台运行一些繁重的代码并且在这些操作尚未完成之前不会消失的启动画面时,实现启动画面的最佳方式是什么?一些代码,例如从 Internet 下载应用程序配置和保存在启动画面中经常使用的主题。

4

2 回答 2

3

可能的解决方案:

  • 制作一个SplashViewController,其中包含与应用程序的启动图像相同的图像。它还包含UIActivityIndicatorView;
  • AppDelegate的 FinishedLaunching 方法中创建 的新实例SplashViewController,将其设置为window.RootViewController,调用:
activityIndicator.StartAnimating();
  • 在后台运行一些繁重的代码;
  • 完成后,设置window.RootViewController为 ViewController,这是应用程序的起点。
于 2013-01-31T09:36:44.743 回答
0

顺便说一句,还有另一种解决方案:创建 main ,在 AppDelegate 的方法UIViewController中将其设置为立即。然后通过以下代码以模态方式创建和显示:Window.RootViewControllerFinishedLaunchingsplashViewController

    ...
    MainViewController.PresentModalViewController(splashViewController, true);
    ...

UIViewController通过调用代码可以隐藏模态:

    DismissModalViewControllerAnimated(true);

请注意,由于 iOS 6PresentModalViewController成为不推荐使用的方法。因此,对于许多 iOS 版本的兼容性,您可以编写特殊方法来显示 modal UIViewController

    public void ShowModalViewController (UIViewController vc, bool animated)
    {
        if (UIDevice.CurrentDevice.CheckSystemVersion(6, 0)) {
            MainViewController.PresentViewController(vc, animated, null);
        } else {
            MainViewController.PresentModalViewController(vc, animated);
        }
    }
于 2013-02-03T09:18:09.127 回答