MonoTouch:加载屏幕

本文关键字:屏幕 加载 MonoTouch | 更新日期: 2023-09-27 18:15:48

我有一个加载屏幕为我的应用程序(default.png)

当用户暂停我的应用程序时,我认为iOS会自动截取截图,并在我的应用程序恢复时将其用作加载屏幕?

如果我实现这个…http://pastebin.com/P0w9GJrB…我不会覆盖我的加载屏幕吗?如果我的视图上有很多东西,用户按下home键,我的应用就会转到后台。保存截图。现在用户终止了我的应用。下次他运行我的应用时,他不会加载保存的截图而不是我的原始加载图片吗?我问这个问题的原因是,如果用户强制终止我的应用,那么他应该看到一个干净的加载屏幕,而不是一个混乱的保存截图?

谢谢所有。

魔力

MonoTouch:加载屏幕

#region Splash Screen
public  void  ShowSplash(){
// get the Height & Width of device Screen
float mainSrcWidth = this.View.Bounds.Width;
float mainSrcHeight = this.View.Bounds.Height;
splashScreen = new UIImageView (UIImage.FromFile ("Images/Default.png"));
splashScreen.Frame = new RectangleF (0, 0, mainSrcWidth, mainSrcHeight);
//Start the thread;
ThreadPool.QueueUserWorkItem (delegate {
Load ();
}
}
this.View.AddSubview(splashScreen);
}
#endregion
#region Load() splashscreen
private void Load ()
//Sleep for 3 seconds to simulate a long load.
Thread.Sleep (new TimeSpan (0, 0, 0, 3));
this.BeginInvokeOnMainThread (delegate {
splashScreen.RemoveFromSuperview ();
splashScreen = null;
});
}
#endregion

从finishhedlaunching method的Appdelegate类中调用ShowSplash()方法

您不应该重写您的应用程序文件,包括Default.png,因为它是应用程序包的一部分。这样做会使bundle的数字签名无效,并且iOS不会启动它(除非你有一个root设备)。

你可以通过不使用Default.png而使用你自己的文件来解决这个问题,例如,存储在你有写访问权限的Document目录中,但它将在稍后显示(并且由你自己的代码显示,就像你已经在你的pastebin中一样),而不是iOS在启动你的应用程序时可以做的。

即使这样,它也是值得的…