1

是否可以将 UIActivityIndi​​cator 添加到我的应用程序的启动画面?

我在 delegate.m 文件中使用以下代码,但它对我不起作用..

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    [NSThread sleepForTimeInterval:5.0];  //for running splash screen more time
     UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    spinner.center = CGPointMake(139.5, 75.5); // .5 so it doesn't blur
   [self.view addSubview:spinner];
    [spinner performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:1.0];


    return YES;
}

请帮我

4

2 回答 2

3

您的应用程序的初始屏幕只是一个静态的 png 文件。您不能向其添加任何内容,例如微调器或动画。但是,您可以做的是,一旦启动画面完成加载,您可以显示一个也具有相同启动画面的视图,然后以编程方式或使用界面构建器将微调器添加到其中。基本上从用户的角度来看,他们无法区分。

我以前使用过这种技术,效果很好。

顺便说一句,你的睡眠电话会暂时冻结你的应用程序。你最好使用 NSTimer,这样操作系统就不会因为没有响应而终止你的应用程序。

于 2013-08-02T06:01:50.277 回答
2

尝试这个...

UIImageView *splashView; // 在 appDelegate.h 中声明

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    splashView = [[UIImageView alloc]initWithFrame:self.window.bounds];
    if (self.window.bounds.size.height > 480)
    {
        splashView.image = [UIImage imageNamed:@"Default-568h@2x.png"];
    }
    else
    {
        splashView.image = [UIImage imageNamed:@"Default.png"];
    }

    [self.window addSubview:splashView];

   // Add your spinner here.

    return YES;
}

希望我有所帮助。

于 2013-08-02T06:49:54.703 回答