【问题标题】:ViewController screen to download database before launch application在启动应用程序之前下载数据库的 ViewController 屏幕
【发布时间】:2012-03-29 19:23:57
【问题描述】:

我使用故事板创建我的应用程序,其中初始视图是TabBarController

但应用程序第一次启动时,我下载了数据库 (4Mb)。所以,我的启动画面会一直显示,直到下载结束,因为下载是在 AppDelegate 中完成的。我想更改它并向用户显示一个视图,指示正在完成下载,而​​不是给人一种应用程序崩溃的印象。

我在didFinishLaunchingWithOptions: 中尝试过,但不起作用:

LoadViewController *loadView = [[LoadViewController alloc] init];
[self.window makeKeyAndVisible];
[self.window addSubview:[loadView view]];

提前致谢。

【问题讨论】:

  • 在 AppDelegate 中发布网络代码。

标签: iphone objective-c ios splash-screen


【解决方案1】:

我不确定这是否能满足您的需求,但我使用MBProgressHUD 在将数据上传到服务器时处理一些显示,也许您可​​以在下载数据库时执行类似的操作。

HUD = [[MBProgressHUD alloc] initWithView:[self view]];
[[self view] addSubview:HUD];
HUD.dimBackground = YES;
HUD.delegate = self;
[HUD showWhileExecuting:@selector(taskToDownloadDatabase) onTarget:self withObject:nil animated:YES];

这将允许您向用户显示一些正在发生的事情的进度,并且当数据库完全下载时初始化您的视图。

【讨论】:

    【解决方案2】:

    为什么不下载appDelegate外的数据库,然后分享给appdelegate呢?或者也许这样做:

    [self performSelector@selector(downloadDatabase) afterDelay:1...];
    

    所以视图首先加载?

    【讨论】:

    • 因为在启动应用程序之前我需要所有数据库。当他们仍在下载时,我想向用户表明正在下载,以免出现应用程序崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多