1

是否可以在第一次加载应用程序时显示不同的启动画面(启动图像)?

例如,第一次加载会有一个文本(“请稍候,我们正在设置您的应用程序...”),而随后的加载将有另一个启动画面(例如没有文本)。

4

3 回答 3

3

不,这是不可能的,因为您无法更改启动映像,因为主包是只读的。

但是,您可以在应用程序启动后立即显示视图控制器并在此视图中显示文本。尽快从该方法中返回application:didFinishLaunchingWithOptions:并仅使用此方法中的文本加载视图控制器。

然后开始做你的应用需要做的事情,完成后关闭视图控制器。

于 2013-10-03T07:36:01.397 回答
1

不,默认图像是在您的应用程序尚未执行任何代码时存在的(大多数情况下)。默认屏幕在大多数现代设备上加载速度非常快,因此无需启动屏幕,只需使用普通视图/视图控制器进行设置。

于 2013-10-03T07:37:11.760 回答
0

作为@nevan king@rckoenes的先前答案,您可以呈现一个视图控制器并在此自定义启动画面中包含文本或图像或任何内容。

添加一个方法didFinishLaunchingWithOptions来呈现这个视图:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Create View Controller
    RootViewController *rootViewController = [[RootViewController alloc] init];

    // Create Navigation Controller
    self.window.rootViewController = rootViewController;
    [self.window makeKeyAndVisible];

    // SplashScreen
    [self displaySplashscreen];

    return YES;
}

创建displaySplashscreen

#pragma mark - SplashScreen Methods
- (void)displaySplashscreen
{
    // Create View
    self.splashscreenViewController = [[SplashscreenViewController alloc] init];

    // Display Splashscreen
    [_window addSubview:_splashscreenViewController.view];

    // Dismiss Splashscreen
    [self performSelector:@selector(dismissSplashscreen) withObject:nil afterDelay:3.0f];
}

在这个视图控制器中创建SplashscreenViewController并构建你需要的东西。

于 2013-10-03T08:00:07.117 回答