第一次加载时可能有不同的iOS启动画面?

时间:2013-10-03 07:30:52

标签: ios splash-screen

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

例如,第一次加载会有一个文本(“我们设置你的应用程序时请等待......”),而下面的加载会有另一个启动画面(例如没有文字)。

3 个答案:

答案 0 :(得分:3)

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

然而,您可以在应用程序启动后显示视图控制器,并在此视图中显示文本。 只需从application:didFinishLaunchingWithOptions:尽快返回,只使用此方法中的文本加载视图控制器。

然后开始执行应用程序需要执行的操作,并在完成后关闭视图控制器。

答案 1 :(得分:1)

不,当您的应用尚未执行任何代码(主要是)时,默认图像就在那里。在大多数现代设备上可以非常快速地加载默认屏幕,因此只需使用普通视图/视图控制器进行设置,而不是启动画面。

答案 2 :(得分: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并在此视图控制器中构建您需要的内容。