如何将 UIActivityIndi​​cator 添加到我的应用程序的启动画面?

Posted

技术标签:

【中文标题】如何将 UIActivityIndi​​cator 添加到我的应用程序的启动画面?【英文标题】:How can i add UIActivityIndicator to Splash screen of my app? 【发布时间】:2013-08-02 05:56:30 【问题描述】:

是否可以将 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;

请帮帮我

【问题讨论】:

看看这个***.com/questions/9400193/… 从不休眠线程,在操作开始或结束时使用通知或委托进行通信 @Andrea 睡眠有问题吗? @Navi 睡眠呼叫本身没有任何问题。问题是您的应用程序无法处理事件,因为运行循环无法定期执行。这对于您在其中调用它的主线程至关重要。因此,您冒着 ios 终止您的应用程序的风险。 好的,我会删除那个,有什么办法吗? 【参考方案1】:

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

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

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

【讨论】:

谢谢。我添加了一个 uiactivity 指示器,其初始状态为动画。现在它正在工作【参考方案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;

希望我能帮上忙。

【讨论】:

如果可能,请始终使用 MBProgressHUD 进行加载。

以上是关于如何将 UIActivityIndi​​cator 添加到我的应用程序的启动画面?的主要内容,如果未能解决你的问题,请参考以下文章

将 UIActivityIndi​​cator 添加到模态视图 (ELCimagepicker)

将 UIActivityIndi​​cator 添加到 UITableView

UISearchBar在Swift中完成后如何停止UIActivityIndi​​cator

按下时如何使 UIButton 收缩为 UIActivityIndi​​cator?

在 UIButton 中放置一个 UIActivityIndi​​cator

处理 UIActivityIndi​​cator 和多线程的最佳方法是啥?